我无法弄清楚如何为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>
所以基本上我认为我在一个数组中有一个数组,所以我编写了我的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;
}
}
我试过调整周围的注释,但我不能让它工作。我非常感谢你的帮助,谢谢你。
答案 0 :(得分:2)
我发现XML结构有点奇怪,因为子站标签似乎是多余的。然而,如果这是你要去的地方,那么这些是可以为你工作的带注释的POJO(我用&#39; MyResponse&#39;替换了你的&#39; Root&#39;类。 ):
@Root
public class Station {
@Path("station")
@Element(name = "abbr") String abbr;
}
@Root
public class MyResponse {
@ElementList(entry = "station", inline = true)
ArrayList<Station> stationsList;
}
即,我已使用@ElementList
来注释父站点列表&#39;标签而不是普通@Element
注释:对于这些情况,简单的xml框架同时具有@ElementList
和@ElementArray
,而我更喜欢前者。
此外,因为它似乎是孩子的车站&#39;标签没有实际用途我已经&#34;跳过&#34;使用@Path
注释来覆盖它们。
如果您想了解有关这些技巧的更多信息,请try looking into the Simple XML documentation on lists。