2012-08-08 34 views
0

我需要比較兩個使用通配符的XML文件。我查看了XMLUnit api(這是在Google搜索結果比較時最常提到的一個),但似乎不支持我在尋找的內容。比較使用通配符的兩個XML文件

準確地說我要尋找以下:

我有一個像

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

一塊XML的,這應與以下商家

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

匹配以及

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

注意第二個列表,它包含一個通配符,這意味着它應該忽略內容並匹配結構。

在此先感謝。

回答

2

XMLUnit測試可以讓你獲得在每個檢測差控制(即當它比較*72),並決定爲自己如果差異顯著。在你的情況下,你會看到這兩個值,看到一個是*,並告訴XMLUnit,差異不重要。

爲此,您將實現一個自定義偵聽器並將該偵聽器設置爲差異對象。一旦xml​​節點值之間發現一些差異,這個監聽器就會被調用,在那裏你可以找到兩個不匹配的值,並在那裏採取迴避行動。