XMLUnit预期子节点数为true但为false

时间:2015-09-06 08:20:12

标签: java xml xmlunit

我正在使用XMLunit来比较以下XML

XML 1

<element1>
</element1>
<element2>   Some Text  </element2>

XML 2

<element1/>
<element2>Some Text</element2>

我期待只有元素2有所不同但是我对element1

有这样的区别
  

&#34; Child节点的预期存在是真的但是是假的&#34;   &#34;子节点1的预期数量,但是0和#34;
  &#34;预期存在子节点&#39; #text&#39;但是没有。

我知道这可以通过setIgnoreWhiteSpace消失,但我想要element2空白区别。

2 个答案:

答案 0 :(得分:2)

<element1/><element1></element1>应返回相同的内容,但您的代码之间有newline,因此“1”或2个字符的文字节点(取决于换行符是否为CR LFLF}。

由于您没有告诉解析器忽略空格,因此它将为您在源数据中找到的所有内容提供。由你决定如何处理它。

答案 1 :(得分:-1)

正如其他人所提到的,XMLUnit将K内的文本(由新行组成)视为子节点。 <element1>&gt;在另一个XML中有任何子节点(甚至不是空文本)。

如果您想忽略这种差异,则必须编写自定义<element1

DifferenceListener