我有这个数据结构:
<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>
我从我的web服务得到了这个数据。 我想使用simple-xml库来实例化Android的“Estates”、“Provider”和“Estate”类。
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
) 来存储提供商,但这种方式只允许使用一个提供商列表(例如在我的示例中有两个列表,会导致错误提示:"ERROR/com.simplexml.XmlActivity(4266): Uncaught exception: org.simpleframework.xml.core.PersistenceException: Element 'providers' declared twice at line 1")。此外,我无法获取“name”属性。实际上,我认为必须放弃使用"
List<Estate> providers
"的方法,但需要用什么来替代呢?应该使用"Collection"吗?