XMLUnit - 如何将自动关闭标签与不关键标签进行比较?

时间:2016-05-06 05:13:06

标签: java xml-parsing xmlunit

我有两段XML,其中一部分是:

<userActionRequiredCode>0</userActionRequiredCode>

<userActionRequiredCode xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

这些是我使用XMLUnit进行比较的不同文件。

这些是不同的,你可以看到,不一样,不相似。我可以为 XMLUnit Diff 类或任何地方设置哪些选项,以便我可以考虑这个差异。

目前,这并未显示在差异列表中。

编辑:更新样本。

UPDATE :最初的问题不在于XMLUnit识别差异。这是我的错误。 XMLUnit正确识别差异。这个特殊的问题因此是虚假的,无法解释的。

1 个答案:

答案 0 :(得分:0)

一个简单的MCVE表明它们不同,所以如果你没有区别,那么你设置XMLUnit就不这样做了。

final String control = "<userActionRequiredCode>0</userActionRequiredCode>";
final String test = "<userActionRequiredCode xsi:nil=\"1\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>";

Diff myDiff = DiffBuilder.compare(Input.fromString(control))
                         .withTest(Input.fromString(test))
                         .build();
System.out.println(myDiff.toString());

<强>输出

Expected child nodelist length '1' but was '0' - comparing <userActionRequiredCode...> at /userActionRequiredCode[1] to <userActionRequiredCode...> at /userActionRequiredCode[1]