我有一个我需要编组的简单课程。该类声明为:
@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而是用于类而不是字段。我不知道这是否可行。
这样我就可以编组一个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>
感谢任何帮助。
答案 0 :(得分:5)
如果不创造新课,这是不可能的 单程是
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Users
{
@XmlElement(name = "xmlUsers")
List<XmlUser> users = new ArrayList<XmlUser>();
}
输出
<users>
<xmlUsers>
//...
</xmlUsers>
<xmlUsers>
//...
</xmlUsers>
</users>