0

ワイルドカード文字を含む 2 つの XML ファイルを比較する必要があります。XMLUnit api (結果を比較するためにグーグルで検索したときに最も推奨されたもの) を見てきましたが、探しているものをサポートしていないようです。

正確には、次のことを探しています。

私は次のようなXMLを1つ持っています

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

これは、次のリストの両方と一致する必要があります

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

としても

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

2 番目のリストに注目してください。これにはワイルドカード文字が含まれています。つまり、内容を無視して、構造だけに一致させる必要があります。

前もって感謝します。

4

1 に答える 1

2

XMLUnit を使用すると、検出さ*れた各差異 (つまり、とを比較するとき72) を制御し、差異が重要かどうかを自分で判断できます。あなたのケースでは、2 つの値を見て、一方が*であることを確認し、その差が重要ではないことを XMLUnit に伝えます。

このためには、カスタム リスナーを実装し、そのリスナーを差分オブジェクトに設定する必要があります。xml ノード値の間に何らかの違いが見つかると、このリスナーが呼び出され、そこで一致しなかった 2 つの値を見つけて回避アクションを実行できます。

于 2012-08-08T18:46:35.463 に答える