mam tej struktury danych:Android, simple-xml, jak zadeklarować listę elementów?
<estates version="0.1">
<provider name="Foo">
<estate id="12345678">
<description>aaa</description>
<size>300</size>
</estate>
<estate id="12345679">
<description>bbb</description>
<size>450</size>
</estate>
</provider>
<provider name="Bar">
<estate id="987654321">
<description>yyy</description>
<size>100</size>
</estate>
<estate id="987654320">
<description>zzz</description>
<size>240</size>
</estate>
</provider>
</estates>
które otrzymuję z usługi internetowej kopalni. Chciałbym utworzyć instancje Android "Estates", "Provider" i "Estate" przy użyciu biblioteki simple-xml.
Klasa Estates.java:
@Root
public class Estates {
@ElementList
private List<Estate> providers;
@Attribute
private String version;
}
Klasa Estate.java:
public class Estate {
@Attribute
private String id;
@Element(required=false)
private String description;
@Element(required=false)
private Integers size;
}
Ie używam @ElementList
(List<Estate> providers
) dla dostawców, ale w ten sposób można używać tylko jednego lista dostawców (dwie listy, jak w moim przykładzie, daje:
"ERROR/com.simplexml.XmlActivity (4266): Uncaught wyjątek: org.simpleframework.xml.core.PersistenceException: Element" provider "zadeklarowany dwukrotnie w wierszu 1").
Więcej, nie mogę uzyskać atrybutu "nazwa". W praktyce, przypuszczam, że muszę odrzucić podejście "List<Estate> providers
", ale jak je zastąpić? Czy powinienem użyć "kolekcji"?
Dzięki! Brakowało mi adnotacji śródliniowej, to naprawdę upraszcza cały plik xml ... – MarcoS