Jaxb 能否在没有根元素的情况下封送子元素?
2022-09-03 17:52:29
我不确定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。
提前致谢!