私は、XML を比較するために XMLunit を使用しています。以下のような xml があります。
<e>
<accounts>
<number>56482</number>
<name>ererr</name>
</accounts>
</e>
<indicator>
<e>
<name>name1</name>
<value>value1<value>
</e>
<e>
<name>name2</name>
<value>value2<value>
</e>
</indicators>
上記の xml のように、異なるeに対して異なる要素セレクター条件を記述する必要があります。つまり、//e に対して別の要素セレクター条件を記述し、//indicator/e に対して異なる要素セレクター条件を記述する必要があります。現在、以下のコードを使用しています
ElementSelectors.conditionalBuilder()
.whenElementIsNamed("e").thenUse(ElementSelectors.byXPath("//indicator/e/name",ElementSelectors.byNameAndText))
.elseUse(ElementSelectors.byName)
.build();
しかし、この条件は //indicator/e に最適です。次のような別の条件が必要です
ElementSelectors.conditionalBuilder()
.whenElementIsNamed("e").thenUse(ElementSelectors.byXPath("//e/number",ElementSelectors.byNameAndText))
.elseUse(ElementSelectors.byName)
.build();
私はここで打たれました。この問題を解決する方法を教えてください。