0
經過幾個小時檢查周圍的其他答案我無法找到一種方法來從rss提要正確讀取這個特定的XML文件。我有一個元素重複在同一水平:語言如何解析這個xml文件與同一級別的重複元素
這裏是RSS提要:
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:veinteminutos="http://www.20minutos.es/" version="2.0">
<channel>
<title>20minutos.es</title>
<link>http://www.20minutos.es/</link>
<description>
</description>
<language>es</language>
<pubDate>Fri, 02 Jan 2015 17:02:55 +0100</pubDate>
<lastBuildDate>Fri, 02 Jan 2015 17:02:55 +0100</lastBuildDate>
<ttl>2</ttl>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>2</sy:updateFrequency>
<sy:updateBase>2015-01-02T17:02:55+01:00</sy:updateBase>
<dc:language>es</dc:language>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
</channel>
</rss>
在這裏,我的類聲明,但我不知道怎麼樣,我必須處理它:
public class Channel
{
@Element(name = "pubDate")
private String pubDate;
@Element(name = "title")
private String title;
@Element(name = "description")
private String description;
@Element(name = "link")
private String link;
@Element(name = "lastBuildDate")
private String lastBuildDate;
@ElementList(inline = true)
private ArrayList<Item> item;
@Element(name = "language")
private String language;
@Element(name = "ttl")
private String ttl;
@Element(name = "updatePeriod")
private String updatePeriod;
@Element(name = "updateFrequency")
private String updateFrequency;
@Element(name = "updateBase")
private String updateBase;
@Namespace(reference="http://purl.org/dc/elements/1.1/", prefix = "dc")
@Element(name = "language")
private String dclanguage;
public String getPubDate()
{
return pubDate;
}
public void setPubDate (String pubDate)
{
this.pubDate = pubDate;
}
public String getTitle()
{
return title;
}
public void setTitle (String title)
{
this.title = title;
}
public String getDescription()
{
return description;
}
public void setDescription (String description)
{
this.description = description;
}
public String getLink()
{
return link;
}
public void setLink (String link)
{
this.link = link;
}
public String getLastBuildDate()
{
return lastBuildDate;
}
public void setLastBuildDate (String lastBuildDate)
{
this.lastBuildDate = lastBuildDate;
}
public ArrayList<Item> getItem()
{
return item;
}
public void setItem (ArrayList<Item> item)
{
this.item = item;
}
public String getLanguage()
{
return language;
}
public void setLanguage (String language)
{
this.language = language;
}
public String getTtl()
{
return ttl;
}
public void setTtl (String ttl)
{
this.ttl = ttl;
}
public String getUpdatePeriod() {
return updatePeriod;
}
public void setUpdatePeriod(String updatePeriod) {
this.updatePeriod = updatePeriod;
}
public String getUpdateFrequency() {
return updateFrequency;
}
public void setUpdateFrequency(String updateFrequency) {
this.updateFrequency = updateFrequency;
}
public String getUpdateBase() {
return updateBase;
}
public void setUpdateBase(String updateBase) {
this.updateBase = updateBase;
}
public String getDclanguage() {
return dclanguage;
}
public void setDclanguage(String dclanguage) {
this.dclanguage = dclanguage;
}
}
我得到的錯誤「org.simpleframework.xml.core.PersistenceException:名現場‘語言’‘語言’私人重複標註」
在此先感謝....
我假設你遇到了問題,因爲在@Namespace(reference =「http://purl.org/dc/elements/1.1/」)之前評估了@Element(name =「language」)''。你能確定情況並非如此嗎? – Koogle
我也嘗試在@Element之前放置@Naamespace(),但是我得到了同樣的錯誤....我甚至不確定這個@Namespace()調用是否正確,和/或如果我必須也爲1sr元素... –
lienmt
您是否嘗試過使用'@Element(name =「dc:language」)的「hacky」方法?儘管它不是很乾淨? – Koogle