首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JAVA比较两个xml文件

问使用JAVA比较两个xml文件
EN

Stack Overflow用户
提问于 2012-04-25 15:54:18
回答 7查看 21.3K关注 0票数 7

我不得不说abc.xml和123.xml文件几乎是相似的,我的意思是具有相同的内容,但是第二个文件,即123.xml,比前一个文件有更多的内容。我想使用Java语言读取这两个文件,并比较每个标记在abc.xml中的内容是否与123.xml中的内容相同,这类似于对象比较。请建议我如何使用java读取xml文件并开始比较。

谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-04-25 16:06:21

我会选择XMLUnit。它提供的功能:

  • 两段XML

之间的差异使用XSLT

  • 转换一段XML的结果
  • 对一段XML XPath表达式的求值
  • 一段XML

<代码>H110通过DOM遍历暴露的一段XML中的单个节点<代码>H211<代码>F212

祝好运!

票数 5
EN

Stack Overflow用户

发布于 2012-04-25 16:05:36

如果你只是想比较一下,那就用这个:

代码语言:javascript
复制
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setCoalescing(true);
dbf.setIgnoringElementContentWhitespace(true);
dbf.setIgnoringComments(true);
DocumentBuilder db = dbf.newDocumentBuilder();

Document doc1 = db.parse(new File("file1.xml"));
doc1.normalizeDocument();

Document doc2 = db.parse(new File("file2.xml"));

doc2.normalizeDocument();
Assert.assertTrue(doc1.isEqualNode(doc2));

否则请查看此http://xmlunit.sourceforge.net/

票数 13
EN

Stack Overflow用户

发布于 2012-04-25 16:04:43

我将使用JAXB从XML文件生成Java对象,然后对Java文件进行比较。它们将使处理变得容易得多。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10311563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档