У меня есть такая структура данных:
<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>
, который я получаю от моего веб-сервиса.
Я хотел бы создать экземпляры классов Android "Estates", "Provider" и "Estate" с помощью библиотеки 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;
}
Т.е. я использую @ElementList
(List<Estate> providers
) для провайдеров, но таким образом я могу использовать только один список провайдеров (имеющий два списка, как в моем примере, дает:
«ОШИБКА / com.simplexml.XmlActivity (4266): необработанное исключение: org.simpleframework.xml.core.PersistenceException: элемент« поставщики »объявлен дважды в строке 1»).
Более того, я не могу получить атрибут "name". На практике, я полагаю, я должен отказаться от подхода "List<Estate> providers
", но как его заменить? Стоит ли использовать «Коллекцию»?