在Java中集成2个XML文件

时间:2015-07-06 12:49:40

标签: java xml

我有2个XML文件,如下所示:

reference.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
    <name>Angels &amp; Demons</name>
    <isbn>9971-5-0210-0</isbn>
    <category></category>
</book>

comparison.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <books>
<book>
    <isbn>9971-5-0210-0</isbn>
    <author>Dan Brown</author>
    <category></category>
</book>

如您所见,reference.xml中有一些标记在comparison.xml中不存在,反之亦然

我想要整合两个文件的输出xml文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
    <name>Angels &amp; Demons</name>
    <isbn>9971-5-0210-0</isbn>
    <author>Dan Brown</author>
    <category></category>
</book>

我尝试使用XML单元(全新的)...它很好地检测差异而不是集成。所以你能给我任何想法,我是否应该再使用XML单元?

1 个答案:

答案 0 :(得分:3)

我只是用Google搜索并找到XMLMerge,它的工作方式与您想要的完全相同。 here you can see a tutorial。从给定链接复制的行


EL4J XmlMerge是LGPL许可下的Java库,可以更轻松地合并来自不同XML源的元素。虽然XmlMerge是EL4J框架的一部分,但您可以独立于EL4J使用它。从命令行运行XmlMerge实用程序所需的只是JDK 1.5或更高版本。

你也可以在StackOverflow上找到一些答案,例如
Merge Two XML FilesMerging XML Files
作为最终解决方案,您可以按XMLUnit检测更改,然后在最后,您可以使用XMLMerge

合并它