我需要将两个XML文件与那些中的通配符进行比较。我看过XMLUnit api(谷歌用于比较结果时最常建议的一个)但似乎它不支持我正在寻找的东西。
准确地说,我正在寻找以下内容:
我有一个像
这样的XML<x>72</x>
<y>67</y>
这应该与以下列表
匹配<x>72</x>
<y>67</y>
以及
<x>*</x>
<y>67</y>
注意第二个列表,它包含一个通配符,这意味着它应该忽略内容并只匹配结构。
先谢谢。
答案 0 :(得分:2)
XMLUnit允许您控制每个检测到的差异(即,当它比较*
和72
时)并自行决定差异是否显着。在您的情况下,您将查看这两个值,看一个是*
,并告诉XMLUnit差异不大。
为此,您将实现自定义侦听器并将该侦听器设置为差异对象。一旦在xml节点值之间找到一些差异,就会调用这个监听器,在那里你可以找到两个不匹配的值并在那里采取规避行动。