如何使用 simple-xml 库解析 xml ,其中数据是列表并由不同类型的列表组成?
How to parse xml with simple-xml library ,where data is list and consist of different types of list?
我正在使用 simple-xml 库来解析 xml,其中数据是包含不同类型列表的列表,数据由图像列表和视频列表组成,这里是 xml我代表我的javaclass这样
@ElementList(required = false, name = "data")
public ArrayList<Data> data;
public class Data {
public String link;
public String url;}
有效,而我想将我的 xml 映射到此 class
public class Data{
public ArrayList<Image>images;
public ArrayList<Video>videos;}
<data>
<image>
<link></link>
<mask></mask>
</image>
<image>
<link></link>
<mask></mask>
</image>
<video>
<url></url>
<mask></mask>
</video>
<video>
<url></url>
<mask></mask>
</video> </data>
试试这个
@Root
public class Example {
@ElementListUnion({
@ElementList(entry="images", type=Image.class, inline=true),
@ElementList(entry="videos", type=Vidio.class, inline=true),
})
private List<Data> data;
}
//vidio
@Default
public class Vidio {
private String link;
private String mask;
}
//image
@Default
public class Image {
private String url;
private String mask;
}
来源:http://simple.sourceforge.net/download/stream/doc/examples/examples.php
检查link你自己可能会有帮助。
我正在使用 simple-xml 库来解析 xml,其中数据是包含不同类型列表的列表,数据由图像列表和视频列表组成,这里是 xml我代表我的javaclass这样
@ElementList(required = false, name = "data")
public ArrayList<Data> data;
public class Data {
public String link;
public String url;}
有效,而我想将我的 xml 映射到此 class
public class Data{
public ArrayList<Image>images;
public ArrayList<Video>videos;}
<data>
<image>
<link></link>
<mask></mask>
</image>
<image>
<link></link>
<mask></mask>
</image>
<video>
<url></url>
<mask></mask>
</video>
<video>
<url></url>
<mask></mask>
</video> </data>
试试这个
@Root
public class Example {
@ElementListUnion({
@ElementList(entry="images", type=Image.class, inline=true),
@ElementList(entry="videos", type=Vidio.class, inline=true),
})
private List<Data> data;
}
//vidio
@Default
public class Vidio {
private String link;
private String mask;
}
//image
@Default
public class Image {
private String url;
private String mask;
}
来源:http://simple.sourceforge.net/download/stream/doc/examples/examples.php
检查link你自己可能会有帮助。