我尝试将两个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();
}
`
答案 0 :(得分:1)
假设您的</name>
是拼写错误,根据评论<name/>
,
然后你可以试试以下。
XMLUnit.setIgnoreWhitespace(true);
似乎适合我。
即。
当我尝试将<Carp1></Carp1>
与<Carp1/>
进行比较时。
如果没有上述设置,我会
Expected text value '
' but was '
' - comparing <CfgDN ...>
</CfgDN> at /CfgDN[1]/text()[19] to <CfgDN ...>
</CfgDN> at /CfgDN[1]/text()[19]
通过上述设置,所有内容都相似且相同。