使用javax.xml.bind.annotations将Java对象转换为XML

时间:2010-09-13 14:40:23

标签: java xml jaxb

如果我有一个包含几个字段的对象是其他对象的列表,并且我想生成XML来表示该对象,我会得到类似的东西

<top level object>
  <object1 />
  <object1 />
  <object1 /> 
  <object2 />
  <object2 />
  <object3 />
</top level object>

我想生成这样的东西:

<top level object>
  <object1 list>
    <object1 />
    <object1 />
    <object1 /> 
  </object1 list>
  <object2 list>
    <object2 />
    <object2 />
  </object2 list>
  <object3 />
</top level object>

这可以通过修改我的注释来实现吗?现在我的顶级类对象标有

 @XmlRootElement()

并且每个Object1,Object2 ......等getter(返回List&lt; Object#&gt;)都有

@XmlElement()

注释

希望有一种方法可以通过修改注释来改变我的输出,因为对于我来说,使用“Object1List”对象来简单地为其他列表保持一个getter以使其按照我在我的图像中的方式工作似乎很愚蠢头

谢谢!

1 个答案:

答案 0 :(得分:3)

查看java.netJava 6 API上的XmlElementWrapper。我认为这正是你所追求的。