我正在使用SimpleXML
http://simple.sourceforge.net/home.php
在我的Android应用中
我从API这样获取数据:
<Items>
<data_0>
<name> x1 </name>
<phone> y1 </phone>
</data_0>
<data_1>
<name> x2 </name>
<phone> y2 </phone>
</data_1>
<data_2> ... </data_2>
...
<data_n> ... </data_n>
</Items>
如何使用simpleXML编写POJO类,以便它接受无限数量的
<data_n>
元素? 最佳答案
那是一个设计糟糕的XML文档,如果您对所接收的格式有任何影响,我建议您请求更改为:
<Items>
<data id="0">
<name> x1 </name>
<phone> y1 </phone>
</data>
<data id="1">
<name> x2 </name>
<phone> y2 </phone>
</data>
<data id="2"> ... </data>
...
<data id="n"> ... </data>
</Items>
就我个人而言,我什至不会尝试为此设计POJO,而只是将XML(甚至只是通过在字符串表示中使用字符串模式替换)清理成上述格式(您甚至可以完全摆脱
id
属性)因为列表上的位置无论如何都会反映出来),随后可以将其定义为数据对象的List
。除非您可以保证最大数量的
data
元素(然后复制并粘贴数十个可怕的命名元素即可达到目的),否则我认为您甚至不能为此设计POJO,因为您也无法定义本文档的XML模式。关于java - SimpleXML,将具有动态名称的子代转换为列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24267095/