我的外部XML源具有此结构
<NewDataSet>
<Table>
<department>HR</department>
<depno>01</depno>
</Table>
<Table>
<department>IT</department>
<depno>02</depno>
</Table>
</NewDataSet>
但Simple XML Framework期望这种结构
<NewDataSet>
<Tables>
<Table>
<department>HR</department>
<depno>01</depno>
</Table>
<Table>
<department>IT</department>
<depno>02</depno>
</Table>
</Tables>
</NewDataSet>
这是我的NewDataSet类
@Root
public class NewDataSet {
@ElementList
public List<Table> Tables;
}
这是我的Table类
@Element
public class Table {
@Element
private String department;
@Element
private String depno;
}
如何编写正确的类以匹配我的外部XML源? 这个程序中使用的这些类
String url = "http://";
String xmlData = retrieve(url);
Reader reader = new StringReader(xmlData);
Serializer serializer = new Persister();
NewDataSet nds = serializer.read(NewDataSet.class, reader, false);
Log.d(MainActivity.class.getSimpleName(), nds.toString());
答案 0 :(得分:1)
使用内嵌
似乎这个问题已在官方文档中得到解决。 http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php#inline
处理第三方XML或包含分组的XML时 相关元素的共同格式涉及存在的元素 没有包装父元素的序列。为了适应 这样的结构元素列表注释可以配置为 忽略列表的父元素。
@Root
public class NewDataSet {
@ElementList(inline = true, entry = "Table")
public List<Table> Tables;
}