如何使用JAX-B将两个XML合并为一个



我有两个xml文件(A.xml和B.xml(:

<Root>
<A>
<name>number</name>
<value>8</value>
</A>
</Root>

<Root>
<A>
<name>number</name>
<value>15</value>
</A>
</Root>

我应该得到结果XML:

<Root>
<A>
<name>number</name>
<value>8</value>
</A>
<A>
<name>number</name>
<value>15</value>
</A>
</Root>

我有自己的解决方案,就是从XML中获取对象,将其放入列表中,然后从该列表中获取XML。也许有更好的解决方案(使用JAX-B(?

我不确定您为什么要使用JAXB,它似乎过于复杂。

您可以使用一行XQuery 来完成此操作

<Root>{doc('A.xml')/*/*, doc('B.xml')/*/*}</Root>

或者使用稍长的XSLT:

<Root xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:copy-of select="document('A.xml')/*/* | document('B.xml')/*/*"/>
</Root>

最新更新