JAXB:如何在XmlRootElement周围添加包装器?

时间:2014-01-20 11:09:06

标签: xml collections jaxb jaxb2

如果我想使用这样的XML文件,如何为JAXB注释Bean?

<myobjects>
    <myobject id="1" active="true">
        <...>
    </myobject>
    <myobject id="2" active="true">
        <...>
    </myobject>
    ...
    <myobject id="666666" active="true">
        <...>
    </myobject>
</myobjects>

... XmlRootElements 的列表/集合将映射到.​​..

@XmlRootElement(name="myobject")
    public class XmlMyObjectDTO {
    private long id;

    public long getId() {
        return this.id;
    }
...
}

1 个答案:

答案 0 :(得分:0)

有几种方法可以处理这个用例。

选项1 - 引入新的顶级课程

您可以引入一个名为XmlMyObjectDTOs的新类,其中包含MyXmlObjectDTO个对象的列表。或者,您可以编写一个通用的包装类(请参阅下面相关答案的链接):

选项2 - 将JAXB与StAX一起使用

您可以创建XMLStreamWriter来写出根元素,然后将对象集合封送到XMLStreamWriter

相关问题