比较两个文件夹中的XML文件

时间:2019-03-19 12:01:34

标签: java python xml groovy compare

总有没有比较保存在两个不同文件夹中的XML文件(具有相同名称)并找出它们之间的区别吗?我想比较存储在不同文件夹中的多个XML文件以进行测试。我很高兴以Java,Groovy脚本,python等任何语言进行探索,

请添加您的想法。非常感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

在Python中:

filecmp: File and Directory Comparisons

import filecmp
cmp = filecmp.cmp('file_1.xml', 'file_2.xml')

# Files are equal
if cmp:
    continue
else:
    out_file.write('file_1.xml') 

答案 1 :(得分:2)

使用xmlunit的常规:

@Grab(group='xmlunit', module='xmlunit', version='1.6')
import org.custommonkey.xmlunit.XMLUnit 

XMLUnit.setIgnoreWhitespace(true)
def r1 = new File('/11/1.xml').newReader("UTF-8")
def r2 = new File('/11/2.xml').newReader("UTF-8")
def diff = XMLUnit.compareXML(r1, r2)
assert diff.similar()

答案 2 :(得分:1)

对于Java而言

  public static void main(String[] args) throws IOException {
        File file1 = new File("aaa.xml");
        File file2 = new File("bbb.xml");
        boolean areTwoFilesEqual = FileUtils.contentEquals(file1, file2);
        System.out.println("Two files are equal?" + areTwoFilesEqual);
    }

使用Apache Commons IO API可以解决问题。

答案 3 :(得分:0)

您可以使用TreeOps可视工具https://github.com/treeops/treeops比较两个XML文件。它以XML / JSON / CSV格式转换和比较树数据。 用户可以通过比较选择要忽略的路径。

TreeOps定义了一组数据树转换,以简化典型的数据操作:

  • 过滤和删除不相关的数据
  • 重新命名和移动节点 沿着树
  • 展平和展平以在树格式和表格格式之间进行转换
  • 在所选节点下使用正则表达式更改节点