私のレトロフィット呼び出しがエラーで失敗しました:私は推測この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
は間違ってPOJOクラスにXMLをマッピングすることによって引き起こされます。
だから誰でも自分のコードに何が間違っているのか教えていただけますか?私はSimpleXMLの例とチュートリアルを見てみましたが、私のようなユースケースでは情報を見つけることができません。 (これは、改修および/またはSimpleXMLはでの作業私の最初の時間です。)
これは
<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>
私のオブジェクトは、このようなものです私の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に似ています。