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

JAXB:如何在XmlRootElement周围添加包装器?,xml,collections,jaxb,jaxb2,Xml,Collections,Jaxb,Jaxb2,如果我想使用这样的XML文件,如何为JAXB注释Bean <myobjects> <myobject id="1" active="true"> <...> </myobject> <myobject id="2" active="true"> <...> </myobject> ... <myobject id="666666

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

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

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

选项1-引入新的顶级课程 您可以引入一个名为
XmlMyObjectDTOs
的新类,该类包含
MyXmlObjectDTO
对象的列表。或者,您可以编写一个通用包装器类(请参阅下面相关答案的链接):

选项2-将JAXB与StAX一起使用 您可以创建一个
XMLStreamWriter
来写出根元素,然后将对象集合封送到
XMLStreamWriter


最方便的方法是什么?@user233552-引入顶级类是最简单的方法。
@XmlRootElement(name="myobject")
    public class XmlMyObjectDTO {
    private long id;

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