У меня есть эта структура данных:
<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>
который я получаю от моего веб-сервиса. Я хотел бы создать экземпляры классов "Estates", "Provider" и "Estate" Android, используя библиотеку simple-xml.
Класс Estates.java:
@Root
public class Estates {
@ElementList
private List<Estate> providers;
@Attribute
private String version;
}
Класс Estate.java:
public class Estate {
@Attribute
private String id;
@Element(required=false)
private String description;
@Element(required=false)
private Integers size;
}
I.e., я использую @ElementList
(List<Estate> providers
) для провайдеров, но таким образом я могу использовать только один список провайдеров (имея два списка, как в моем примере, дает:
"ERROR/com.simplexml.XmlActivity(4266): исключение uncaught: org.simpleframework.xml.core.PersistenceException: поставщики провайдеров дважды объявляются в строке 1" ).
Больше, я не могу получить атрибут name. На практике я полагаю, что я должен отклонить подход "List<Estate> providers
", но как его заменить? Должен ли я использовать "Collection"?