【发布时间】:2015-09-12 11:58:47
【问题描述】:
我想使用 XMLUnit 比较两个 xml 文件。我希望DetailedDiff 不会将不同顺序的相同标签报告为差异。例如,如果我用这两个 sn-ps 创建了一个DetailedDiff:
<a><b/><c/></a>
和
<a><c/><b/></a>
DetailedDiff 将创建两个差异,因为 b 和 c 标记无序。我已经尝试过覆盖元素限定符,但它不会导致任何更改。我做错了什么还是这不可能用 XMLUnit 做?作为参考,这里是我用来比较两个 xml 文件的代码(不包括 overrideElementQualifier 调用)。
public List<Difference> getDifferenceList(Reader file1, Reader file2) {
Diff d = new Diff(file1, file2); //I'm passing the args as FileReaders
d.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
detailedDiff = new DetailedDiff(d);
List<Difference> allDifferences = detailedDiff.getAllDifferences();
return allDifferences;
}
【问题讨论】: