que tienen esta estructura de datos:Android, simple-xml, ¿cómo declarar una lista de elementos?
<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>
el que recibo de un servicio web de la mía. Me gustaría crear instancias de las clases de Android "Estates", "Provider" y "Estate", utilizando la biblioteca simple-xml.
Clase Estates.java:
@Root
public class Estates {
@ElementList
private List<Estate> providers;
@Attribute
private String version;
}
Clase Estate.java:
public class Estate {
@Attribute
private String id;
@Element(required=false)
private String description;
@Element(required=false)
private Integers size;
}
Es decir, yo uso un @ElementList
(List<Estate> providers
) para los proveedores, pero de esta manera sólo puedo utilizar un lista de proveedores (que tiene dos listas, como en mi ejemplo, da:
"ERROR/com.simplexml.XmlActivity (4266): excepción no detectada: org.simpleframework.xml.core.PersistenceException: 'proveedores' de elementos declarados dos veces en la línea 1").
Más, no puedo obtener el atributo "nombre". En la práctica, supongo que tengo que descartar el enfoque "List<Estate> providers
", pero ¿cómo reemplazarlo? ¿Debo usar una "Colección"?
¡Gracias! Eché de menos la anotación en línea, realmente simplifica todo el xml ... – MarcoS