![](/img/trans.png)
[英]Parse the following XML using Retrofit SimpleXml-Converter with a POJO class
[英]Retrofit simpleXML Converter for nested arrays
我在弄清楚如何为simplexml创建POJO模型时遇到了麻烦。
假设我有一个要从中提取数据的xml,如下所示:
<root>
<station>
<station>
<abbr>Abbr1</abbr>
</station>
</station>
<station>
<station>
<abbr>Abbr2</abbr>
</station>
</station>
<station>
<station>
<abbr>Abbr3</abbr>
</station>
</station>
</root>
所以基本上我想我在Array中有一个数组,所以我这样编码了Java模型:
@org.simpleframework.xml.Root(name="root")
public class Root {
@Element(name="stations")
public Stations stations;
@Element(name="station")
public Station[] station;
@Element(name="abbr")
public String abbr;
public class Stations{
public Station[] station;
}
public class Station{
public String abbr;
}
}
我尝试调整注释,但是无法正常工作。 非常感谢您的帮助,谢谢。
我发现XML结构有点奇怪,因为子站标签似乎是多余的。 但是,如果这是您要使用的,那么这些注释的POJO可能对您有用(我将“ Root”类替换为“ MyResponse”):
@Root
public class Station {
@Path("station")
@Element(name = "abbr") String abbr;
}
@Root
public class MyResponse {
@ElementList(entry = "station", inline = true)
ArrayList<Station> stationsList;
}
即,我使用@ElementList
来注释父“站”标签的列表,而不是普通的@Element
注释:对于这些情况,简单的xml框架同时具有@ElementList
和@ElementArray
,我更喜欢前者。
另外,由于子'station'标签似乎没有实际用法,因此我通过使用@Path
注释“跳过”了它们。
如果您想了解有关这些技术的更多信息,请尝试查看list上的Simple XML文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.