Java 如何通过XStream读取具有属性的列表元素

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

我使用XStream阅读下面的示例xml文件

<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;
}