Java 当有多个元素具有相同的标记名时,XMLUnit的ElementQualifier会混淆

Java 当有多个元素具有相同的标记名时,XMLUnit的ElementQualifier会混淆,java,xml,dom,junit,xmlunit,Java,Xml,Dom,Junit,Xmlunit,我试图比较下面两个XML。。。我在做相似性测试 XML1 符合事实的 哦 zzzz zzzz zzzz XML2 哦 zzzz zzzz zzzz 符合事实的 我得到这个错误 [不同]预期的子节点数为“1”,但为“2”。看起来它比较了控制节点3和测试节点3。由于元素的名称与第三个匹配,因此它进行比较。有没有办法解决这种情况 这是我的密码 ElementQualifier接口决定XMLUnit中哪些元素相互比较。对于您的特定情况,RecursiveElementNameAndTextQua

我试图比较下面两个XML。。。我在做相似性测试

XML1

符合事实的 哦 zzzz zzzz zzzz

XML2

哦 zzzz zzzz zzzz 符合事实的

我得到这个错误

[不同]预期的子节点数为“1”,但为“2”。看起来它比较了控制节点3和测试节点3。由于元素的名称与第三个匹配,因此它进行比较。有没有办法解决这种情况

这是我的密码

ElementQualifier接口决定XMLUnit中哪些元素相互比较。对于您的特定情况,RecursiveElementNameAndTextQualifier可以工作,但它不是一个通用的解决方案。在更复杂的情况下,您必须在自己的实现中实现匹配策略

    Diff d = new Diff(xmlResponseTrim, serializedResponseTrim);
    DetailedDiff dd = new DetailedDiff(d);
    dd.overrideDifferenceListener(new IgnoreTextAndAttributeValuesDifferenceListener());
    System.out.println(dd);
    assertTrue(dd.similar());