我想比较两个XML文件。我尝试过使用XMLUnit api。但它并不适合我,因为我想要。 我希望以下比较结果为真,即它们是相似的。
FILE1:
<root>
<node>
<node1> xyz </node1>
<node2> abc </node2>
</node>
<node>
<node3>pqr</node3>
<node4>stu</node4>
</node>
</root>
FILE2:
<root>
<node>
<node3>pqr</node3>
<node4>stu</node4>
</node>
<node>
<node1> xyz </node1>
<node2> abc </node2>
</node>
</root>
我希望这个比较等于= true。
我的功能:
public static void assertXMLSame(String path1,String path2){
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setIgnoreAttributeOrder(true);
XMLUnit.setIgnoreComments(Boolean.TRUE);
FileReader fr1 = null;
FileReader fr2 = null;
try {
fr1 = new FileReader(path1);
fr2 = new FileReader(path2);
Diff diff = new Diff(fr1,fr2);
System.out.println("Similar? " + diff.similar());
System.out.println("Identical? " + diff.identical());
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
如果事先知道XML的结构,可以为它准备类模板。你的类应该实现equals()方法。然后将源xmls解组为java类实例,然后您可以测试它们是否相等。