比较这两个 XML 片段:
testXml:
<ELEMENT1>
<CHILD1></CHILD1>
</ELEMENT1>
actualXml:
<ELEMENT1>
<CHILD1>notEmpty</CHILD1>
</ELEMENT1>
使用:
Diff diff = new Diff(testXml, actualXml);
Detailed detailedDiff = new DetailedDiff(diff);
现在detailedDiff.getAllDifferences();
将返回一个DifferenceConstants.HAS_CHILD_NODES_ID
差异,如果您将差异打印到控制台,它看起来像这样:
Expected presence of child nodes to be 'false' but was 'true' - comparing <CHILD1...> at /ELEMENT1[1]/CHILD1[1] to <CHILD1...> at /ELEMENT1[1]/CHILD1[1]
我的问题是,为什么 typeDifferenceConstants.HAS_CHILD_NODES_ID
和 not有区别DifferenceConstants.TEXT_VALUE_ID
?两个 XML 片段的结构相同,但两者的文本值不同。
那么,为什么这不会引发差异呢?