如何将属性添加到@XmlElementWrapper ArrayList?

时间:2016-03-11 09:02:56

标签: java xml jaxb

我使用jaxb创建以下xml结构:

@XmlElementWrapper
@XmlElement(name = "picture")
private List<Picture> pictures;

创建:

<pictures>
    <picture/>
    <picture/>
</pictures>

我想要的是什么:

<pictures attribute="test">
    <picture/>
    <picture/>
</pictures>

问题:我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:2)

为此你应该像这样创建一个类

@XmlRootElement(name = "pictures")
class YourClass{

 @XmlElement(name = "picture")
 private List<Picture> pictures; 

 @XmlAttribute(name="attribute")
 private string attr;
}

当你Marshaller这个

图片将是您的根元素,我们有一个属性  您可以在根元素中找到属性和其他列表元素(图片)。

你会得到

 <pictures attribute="test">
   <picture/>
   <picture/>
 </pictures>

注意:您也可以在getter中注释。