我有一个Rss feed,我想使用Simple Framework在Java中进行解析。
我在使用2个具有相同名称的元素时遇到问题,但是其中一个分配了名称空间。
这是一个示例xml:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/">
<item>
<title>Regular Titel</title>
<dc:title>Dc Titel</dc:title>
</item>
</rss>
目前,我的Item.class看起来像这样:
@Root
public class Item {
@Namespace(reference = "http://purl.org/dc/elements/1.1/", prefix = "dc")
@Element(name="title")
public String dcTitle;
@Element
public String title;
}
显然,这会导致PersistenceException(在字段“标题”上对名称“标题”重复标注...。),但是我真的不知道该怎么做。有人可以帮我解决这个问题!
更新
尽管该解决方案有效,但我现在在序列化对象时遇到了问题。我声明的名称空间未分配给输出xml中的元素。
最佳答案
尝试
@Root
public class Item {
@Namespace(reference = "http://purl.org/dc/elements/1.1/", prefix = "dc")
@Path("title[1]")
@Text
public String dcTitle;
@Path("title[2]")
@Text
public String title;
}