0

我需要比较两个带有通配符的 XML 文件。我已经查看了 XMLUnit api(当谷歌搜索比较结果时最建议使用它)但似乎它不支持我正在寻找的内容。

准确地说,我正在寻找以下内容:

我有一个 XML 像

<x>72</x>
<y>67</y>

这应该与以下两个列表相匹配

<x>72</x>
<y>67</y>

<x>*</x>
<y>67</y>

注意第二个清单,它包含一个通配符,这意味着它应该忽略内容并只匹配结构。

提前致谢。

4

1 回答 1

2

XMLUnit 允许您控制每个检测到的差异(即,当它比较*和时72)并自行决定差异是否显着。在您的情况下,您将查看两个值,看到一个是*,并告诉 XMLUnit 差异不显着。

为此,您将实现一个自定义侦听器并将该侦听器设置为差异对象。一旦在 xml 节点值之间发现一些差异,就会调用此侦听器,您可以在那里找出不匹配的两个值并在那里采取规避措施。

于 2012-08-08T18:46:35.463 回答