java - 如何使用java比较两个xml文件

标签 java xml diff

我有两个要比较的 xml 文件:

old.xml:

<EMPLOYEES>
  <employee>
    <id>102</id>
    <name>Fran</name>
    <department>  THIS IS COMPUTER DEPARTMENT  </department>
  </employee> 
  <employee>
    <id>105</id>
    <name>Matthew</name>
    <department> THIS IS SCIENCE AND TECHNOLOGY </department>
  </employee> 
</EMPLOYEES>

new.xml :

<EMPLOYEES>
  <employee>
    <id>105</id>
    <name>Matthew</name>
    <department>  THIS IS SCIENCE AND TECHNOLOGY **Modified *** </department>
  </employee> 
  <employee>
    <id>106</id>
    <name>xyz</name>
    <department> THIS IS SCIENCE AND TECHNOLOGY </department>
  </employee>
  <employee>
    <id>107</id>
    <name>Francis</name>
    <department>  THIS IS XYZ  </department>
  </employee>
</EMPLOYEES>

我想比较这两个文件并返回添加、删除或更新了哪些记录。 old.xml包含 2 <employee>记录和new.xml包含 3 <employee>记录。

我希望结果是这样的:

添加记录 2 :例如:- employee.id=106 和 employee.id=107

删除的记录 1 : 例如:- employee.id=102

更新记录 1:例如:- employee.id=105 更新为 ----

比较这两个 XML 文件以获得这些结果的最佳方法是什么?

最佳答案

这听起来类似于 Best way to compare 2 XML documents in Java .我建议查看 XMLUnit:

http://xmlunit.sourceforge.net/

关于java - 如何使用java比较两个xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14268197/

相关文章:

java - Liquibase 未针对 Spring Boot/MySQL 应用程序执行

java - 在 Jenkins 中创建构建作业时如何调用项目

java - 如何在 xml 中水平并排创建 3 个具有相同空间的按钮(Android)

java - 简单的 XSL 撒克逊变换

java - Android 为我的 Sqlite DB 中的每个字符串创建一个 TextView

java - 如何评估沙盒中的用户表达式

c - 在 C 中以流方式读取和处理内存中的 XML 数据

matlab - 如何比较具有不同时间戳的matlab中的.mat文件

vim - 在 Vim 中比较两个垂直打开的窗口

c - 如何仅区分源文件?