将两个XML文件与通配符进行比较

时间:2012-08-08 11:10:09

标签: java xml

我需要将两个XML文件与那些中的通配符进行比较。我看过XMLUnit api(谷歌用于比较结果时最常建议的一个)但似乎它不支持我正在寻找的东西。

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

我有一个像

这样的XML
<x>72</x>
<y>67</y>

这应该与以下列表

匹配
<x>72</x>
<y>67</y>

以及

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

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

先谢谢。

1 个答案:

答案 0 :(得分:2)

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

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