Tôi có cấu trúc dữ liệu này:Android, simple-xml, cách khai báo danh sách các phần tử?
<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>
mà tôi nhận được từ một dịch vụ web của tôi. Tôi muốn khởi tạo các lớp "Estates", "Provider" và "Estate" Android, sử dụng thư viện đơn giản-xml.
Lớp Estates.java:
@Root
public class Estates {
@ElementList
private List<Estate> providers;
@Attribute
private String version;
}
Lớp Estate.java:
public class Estate {
@Attribute
private String id;
@Element(required=false)
private String description;
@Element(required=false)
private Integers size;
}
Ie, tôi sử dụng một cách @ElementList
(List<Estate> providers
) cho các nhà cung cấp, nhưng điều này tôi chỉ có thể sử dụng một danh sách nhà cung cấp (có hai danh sách, như trong ví dụ của tôi, cho:
"ERROR/com.simplexml.XmlActivity (4266): Ngoại lệ không bắt buộc: org.simpleframework.xml.core.PersistenceException: Các nhà cung cấp phần tử 'được khai báo hai lần ở dòng 1").
Thêm, tôi không thể nhận thuộc tính "tên". Trong thực tế, tôi cho rằng tôi phải loại bỏ cách tiếp cận "List<Estate> providers
", nhưng làm thế nào để thay thế nó? Tôi có nên sử dụng "Bộ sưu tập" không?
Cảm ơn! Tôi đã bỏ lỡ chú thích nội tuyến, nó thực sự đơn giản hóa toàn bộ xml ... – MarcoS