【问题标题】:How to merge two XML into one using JAX-B? [duplicate]如何使用 JAX-B 将两个 XML 合并为一个? [复制]
【发布时间】:2020-10-07 15:06:13
【问题描述】:

我有两个 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)?

【问题讨论】:

标签: java xml jaxb


【解决方案1】:

我不确定您为什么要为此使用 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 2021-11-03
    • 2012-04-24
    • 2018-10-15
    • 2015-03-01
    • 2021-07-30
    相关资源
    最近更新 更多