0

我尝试将两个 xml 与 xmlUnit 进行比较。我有以下问题。当我有两个空元素时,如下例 xmlUnit 将元素标识为差异。我可以将 xmlUnit 配置为忽略这个吗?

</name><name></name>

我只对下面两个例子的差异感兴趣。

<name>test1</name><name>test2</name>

区别:test1 和 test2

或者

<name>test1</name><name></name> 差异 test1 和 ...

我的代码:

`

Diff diff = new Diff(fr1, fr2);
DetailedDiff detailedDiff = new DetailedDiff(diff);
List differenceList = detailedDiff.getAllDifferences();
List differences = detailedDiff.getAllDifferences();
for (Object object : differences) {
  Difference difference = (Difference)object;
  String node1;
  String node2;
  node1 = difference.getControlNodeDetail().getNode().getNodeName() + " " +              difference.getControlNodeDetail().getNode().getNodeValue();
   node2 = difference.getTestNodeDetail().getNode().getNodeName() + " " +    difference.getTestNodeDetail().getNode().getNodeValue();
}

`

4

1 回答 1

2

假设你</name>是一个错字,它是<name/>根据评论,

那么您可以尝试以下方法。

        XMLUnit.setIgnoreWhitespace(true);

似乎对我有用。

IE。当我尝试<Carp1></Carp1><Carp1/>.

没有上述设置,我得到

Expected text value '
' but was '

' - comparing <CfgDN ...>
</CfgDN> at /CfgDN[1]/text()[19] to <CfgDN ...>

</CfgDN> at /CfgDN[1]/text()[19]

通过上述设置,一切都相似且相同。

于 2015-01-09T05:31:04.637 回答