Java simplexml-列表中的列表

Java simplexml-列表中的列表,java,xml,simple-framework,Java,Xml,Simple Framework,我有这个XML代码 <data> <element>qwe</element> <list1> <element1>el1</element1> <element2>el2</element2> <list2 attribute="1"></list2> <list2 attrib

我有这个XML代码

<data>
     <element>qwe</element>
     <list1>
         <element1>el1</element1>
         <element2>el2</element2>
         <list2 attribute="1"></list2>
         <list2 attribute="q"></list2>
         <list2 attribute="d"></list2>
     </list1>
     <list1>
         <element1>el3</element1>
         <element2>el4</element2>
         <list2 attribute="z"></list2>
     </list1>
</data>

qwe
el1
el2
el3
el4
我正在使用Java和Simple Framework阅读该代码,但它会引发一些错误:

元素“List2”已用于 @org.simpleframework.xml.ElementList

我的Java代码是

@Root
public class data {
    @Element
    private String element;
    @ElementList
    private List<List1> list1;
}


@Root
class List1 {
    @Element
    private String element1;
    @Element
    private String element2;
    @ElementList (required=false)
    private List<List2> list2;
}

@Root
class List2 {
    @Attribute
    private String attribute;
}
@Root
公共类数据{
@元素
私有字符串元素;
@元素列表
私人名单1;
}
@根
类别列表1{
@元素
私有字符串元素1;
@元素
私有字符串元素2;
@ElementList(必需=false)
私人名单2;
}
@根
类别列表2{
@属性
私有字符串属性;
}
如何读取列表中的列表?

好的

解决

@Root
public class data {
    @Element
    private String element;
    @ElementList
    private List<List1> data;
}


@Root (inline=true)
class List1 {
    @Element
    private String element1;
    @Element
    private String element2;
    @ElementList (required=false)
    private List<List2> list1;
}

@Root (inline=true)
class List2 {
    @Attribute
    private String attribute;
}
@Root
公共类数据{
@元素
私有字符串元素;
@元素列表
私人名单数据;
}
@根(内联=真)
类别列表1{
@元素
私有字符串元素1;
@元素
私有字符串元素2;
@ElementList(必需=false)
私人名单1;
}
@根(内联=真)
类别列表2{
@属性
私有字符串属性;
}

您使用的是哪个版本的simple?我已经用2.7.1进行了测试,代码运行良好。我还使用了2.7.1。这是不可能的解决方案@Root annotation没有内联参数,因此它无法工作,至少在SimpleXML库的2.7.1版本中是如此。