我有一个简单的类需要整理。该类声明为:
@XmlRootElement
public class XMLUser...
这是我得到的:
<?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>
现在我想在一个文件中有多个用户,但不需要自己创建包装器类,有点像使用 @XmlElementWrapper 但用于类而不是字段。我不知道这是否可能。
这样我就可以编码一个列表(或 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>
感谢任何帮助。
最佳答案
不创建新类是不可能的。
单一的方式是
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Users
{
@XmlElement(name = "xmlUsers")
List<XmlUser> users = new ArrayList<XmlUser>();
}
输出
<users>
<xmlUsers>
//...
</xmlUsers>
<xmlUsers>
//...
</xmlUsers>
</users>
关于java - 列表的自动 XmlRootElement 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12256221/