【发布时间】:2012-08-03 03:11:43
【问题描述】:
我不确定 jaxb 是否可以解决以下问题,但我还是会问。
在某个项目中,我们使用带有已定义架构的 jaxb 来创建 xml 文件的下一个结构。
<aaa>
<bbb>
more inner children here
</bbb>
<bbb>
more inner children here
</bbb>
</aaa>
我们还使用了 jaxb 的自动类生成,它创建了以下类:aaa 和 bbb,其中 aaa 是作为 @XmlRootElement 生成的。
我们现在想在一个新项目中使用相同的架构,这也将与以前的项目兼容。 我想做的是使用相同的 jaxb 生成的类,而不对架构进行任何更改,以便仅将单个 bbb 对象编组到 xml。
JAXBContext jc = JAXBContext.newInstance("generated");
Marshaller marshaller = jc.createMarshaller();
marshaller.marshal(bbb, writer);
所以我们会得到下一个结果:
<bbb>
<inner child1/>
<inner child2/>
...
</bbb>
我目前无法这样做,因为编组器大喊我没有定义 @XmlRootElement。
我们实际上是在尝试避免将架构分成 2 个架构的情况,一个只有 bbb,另一个是 aaa 导入 bbb。
提前致谢!
【问题讨论】:
-
我能够在这篇文章中找到解决方案:[使用 Jaxb 进行分段编组][1] [1]:stackoverflow.com/questions/9295385/…
标签: java xml jaxb marshalling