比较两个xml文件并将新标记添加到第一个xml文件

时间:2016-05-06 04:28:13

标签: java xml

我要xml文件说abc.xml& 123.xml几乎相似,我的意思是内容相同,但第二个,即123.xml的内容比前一个更多。我想使用Java读取这两个文件,并将额外的内容添加到abc.xml而不更改其现有内容

2 个答案:

答案 0 :(得分:1)

Java内部有xml解析器。在网上搜索如何使用它。 下面给出了两个链接,

http://www.tutorialspoint.com/java_xml/java_dom_parse_document.htm

http://www.tutorialspoint.com/java_xml/java_dom_modify_document.htm

只需要阅读它们,然后编写逻辑进行比较,然后将其合并到另一个文件中。

答案 1 :(得分:0)

XMLUnit是我朋友的关键。它以先进而简单的方式比较两个XML并且易于理解。要添加新标记,您可以使用良好的字符串连接或使用jDom或任何类似的库来执行此操作。以下是一些很好的参考资料:

http://www.jdom.org/docs/apidocs/

http://xmlunit.sourceforge.net/userguide/html/

String refXmlPaht = "../test1.xml";
String testXmlPaht = "../test2.xml";
Document doc1 = TransformXML.convertXmlToDom(refXmlPaht);
Document doc2 = TransformXML.convertXmlToDom(testXmlPaht);

Diff myDiff = new Diff(doc1, doc2);
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setIgnoreComments(true);
XMLUnit.setIgnoreAttributeOrder(true);

assertXMLEqual("pieces of XML are not similar ", myDiff, true);
assertTrue("but are they identical? " + myDiff, myDiff.identical());

这部分是在不同情况下从其他链接中获取的。 如果你有更多问题,请打我!