我改造調用失敗,出現錯誤:如何解析這個XML到Java對象(Retrofit2 + SimpleXML)? (錯誤的PersistenceException)
org.simpleframework.xml.core.PersistenceException: Element 'item' is already used with @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=false, name=item, required=false, type=void) on field 'medias' private java.util.ArrayList packageName.FeedTag.medias at line 58
,我猜是由不正確地映射到XML POJO類引起的。
那麼,誰能告訴我我的代碼有什麼問題?我試過看SimpleXML的例子和教程,但我找不到像我這樣的用例的信息。 (這是我第一次改造和/或SimpleXML的工作。)
這是我的XML
<xml>
<feed>
<item>
<id>0</id>
<title>Lorem ipsum</title>
</item>
<item>
<id>1</id>
<title>Lorem ipsum dolor</title>
<comments>
<item>
<id>3</id>
</item>
</comments>
<medias>
<item>
<id>4</id>
<title>Media 1</title>
</item>
<item>
<id>8</id>
<title>Media 2</title>
</item>
</medias>
</item>
</feed>
</xml>
我的對象是這樣的:
XmlTag.java
@Root(name = "item", strict = false)
public class XmlTag{
@Path("feed")
@ElementList(name = "item", required = false)
private List<FeedTag> feeds;
//empty constructor, setter, getter...
}
FeedTag.java
@Root(name = "item", strict = false)
public class FeedTag{
@Element(name = "title", required = false)
private String title;
@Path("comments")
@ElementList(name = "item", required = false)
private List<CommentTag> comments;
@Path("medias")
@ElementList(name = "item", required = false)
private List<MediaTag> medias;
//empty constructor, setter, getter...
}
CommentTag和MediaTag與FeedTag相似。