我有2个XML文件,如下所示:
reference.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>Angels & 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 & Demons</name>
<isbn>9971-5-0210-0</isbn>
<author>Dan Brown</author>
<category></category>
</book>
我尝试使用XML单元(全新的)...它很好地检测差异而不是集成。所以你能给我任何想法,我是否应该再使用XML单元?
答案 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 Files或Merging XML Files
作为最终解决方案,您可以按XMLUnit检测更改,然后在最后,您可以使用XMLMerge