列表的自动XmlRootElement包装器

use*_*431 4 java xml jaxb

我有一个简单的课程,我需要编组.该类声明为:

@XmlRootElement  
public class XMLUser...
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xmlUser>
    <login>myLogin</login>
    <password>myPass</password>  
    <role name="role1"/>  
    <role name="role2"/>  
    <role name="role3"/>  
</xmlUser>
Run Code Online (Sandbox Code Playgroud)

现在我希望在一个文件中有多个用户,但不需要自己创建包装类,有点像使用@XmlElementWrapper而是用于类而不是字段.我不知道这是否可行.

所以我可以编组一个List(或jaxb提供的一些对象),我最终可能得到一个像这样的xml(<users>标签自动生成):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users>
    <xmlUser>
        <login>login1</login>
        <password>pass2</password>
        <role name="role1"/>
        <role name="role2"/>
    </xmlUser>
    <xmlUser>
        <login>login2</login>
        <password>pass2</password>
        <role name="role1"/>
        <role name="role3"/>
    </xmlUser>
</users>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

Ily*_*lya 5

没有新课程的创造是不可能的.
单程是

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Users 
{
   @XmlElement(name = "xmlUsers")
   List<XmlUser> users = new ArrayList<XmlUser>();
}  
Run Code Online (Sandbox Code Playgroud)

产量

<users>
    <xmlUsers>
       //...
    </xmlUsers>
    <xmlUsers>
       //...
    </xmlUsers>
</users>
Run Code Online (Sandbox Code Playgroud)