如果我想使用这样的 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 - 引入新的顶级类
您可以引入一个名为 XmlMyObjectDTOs
的新类,它包含一个 MyXmlObjectDTO
对象列表。或者,您可以编写一个通用包装类(请参阅下面相关答案的链接):
选项 2 - 将 JAXB 与 StAX 结合使用
您可以创建一个 XMLStreamWriter
来写出根元素,然后将对象集合编码到 XMLStreamWriter
。
关于xml - JAXB:如何围绕 XmlRootElement 添加包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21232405/