Java 如何通过XStream读取具有属性的列表元素
我使用XStream阅读下面的示例xml文件Java 如何通过XStream读取具有属性的列表元素,java,xml,xml-parsing,xstream,Java,Xml,Xml Parsing,Xstream,我使用XStream阅读下面的示例xml文件 <list> <file>/setup/x86-linux2/bin/zip.txt</file> <file type="dir">/src/bin/</file> <name>test xml</name> </list> 看来XStream不支持同时使用批注“@XStreamImplicit”和“@XStreamConver
<list>
<file>/setup/x86-linux2/bin/zip.txt</file>
<file type="dir">/src/bin/</file>
<name>test xml</name>
</list>
看来XStream不支持同时使用批注“@XStreamImplicit”和“@XStreamConverter”
我的问题是如何通过XStream阅读示例xml?在迁移到XStream 1.4.x之后,我找到了一个解决方案
@XStreamAlias("list")
public class MyList {
@XStreamAlias("name")
String name;
@XStreamImplicit(itemFieldName="file")
List<MyFile> files;
}
@XStreamAlias("file")
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"path"})
public static class MyFile {
@XStreamAlias("type")
@XStreamAsAttribute
String type;
String path;
}
@XStreamAlias(“列表”)
公共类MyList{
@XStreamAlias(“名称”)
字符串名;
@XStreamImplicit(itemFieldName=“文件”)
列出文件;
}
@XStreamAlias(“文件”)
@XStreamConverter(value=ToAttributedValueConverter.class,strings={“path”})
公共静态类MyFile{
@XStreamAlias(“类型”)
@XStreamAsAttribute
字符串类型;
字符串路径;
}
test xml
null
null
@XStreamAlias("list")
public class MyList {
@XStreamAlias("name")
String name;
@XStreamImplicit(itemFieldName="file")
List<MyFile> files;
}
@XStreamAlias("file")
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"path"})
public static class MyFile {
@XStreamAlias("type")
@XStreamAsAttribute
String type;
String path;
}