几个小时后,我检查了周围的一些其他答案,但找不到从 rss 提要中正确读取此特定 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>
这是我的类(class)声明,但我不确定我必须如何处理它:
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:名称‘language’在私有(private)字段‘language’上的重复注释”
提前致谢....
最佳答案
抱歉,这是一个内部错误。
我有同样的问题,我修改了代码以获得阅读 RSS/ATOM 提要所需的内容。我下载了简单的xml框架的源代码,看看有什么问题。
在 Composite 类中,方法 readElement(使用名称搜索注释)忽略前缀并且没有找到 ATOM 或 Itunes 元素,我更改了它并且成功了。
让我们希望有人在未来的版本中做出改变。
关于android - 如何在同一级别解析具有重复元素的此 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746127/