xmlunit 2.5.0を使用しています。名前属性が一致するXMLUnitタグが一致しません
以下は私の2つのxml文字列です:1つはcontrolxml
であり、1つはtestxml
です。
ここでは、xmlunitを使用してこれら2つの文字列xmlを比較しています。
私のJavaコードは次のとおりです。
org.xmlunit.diff.Diff myDiff = DiffBuilder.compare(controlXml).withTest(testXml)
.checkForSimilar()
.withNodeMatcher(new
DefaultNodeMatcher(ElementSelectors.conditionalBuilder()
.whenElementIsNamed("f1")
.thenUse(ElementSelectors.byName)
.elseUse(ElementSelectors.byNameAndText)
.build()))
.build();
取得エラー:
***********************
Expected attribute value 'Roses' but was 'Daisy' - comparing <f1 name="Roses"...> at /flowers[1]/flower[1]/f1[1]/@name to <f1 name="Daisy"...> at /flowers[1]/flower[1]/f1[1]/@name (DIFFERENT)
***********************
***********************
Expected attribute value 'Daisy' but was 'Roses' - comparing <f1 name="Daisy"...> at /flowers[1]/flower[2]/f1[1]/@name to <f1 name="Roses"...> at /flowers[1]/flower[2]/f1[1]/@name (DIFFERENT)
***********************
私はローズはtestxmlに存在しているので、何のエラーを取得しないようにしたいです。なぜ私はtestxmlでバラがあり、私はElementSelectors.byName
とwhenElementIsNamed("f1")
を持っていますが、controlxmlのRoseはtestxmlのDaisyと比較されています。
どのElementSelectorを使用しますか?
文字列controlXml = F1名= \" バラ\>" でありますf1 name = \ "Crocus \" /> "; –
DonSenor
文字列testXml = " "。 –
DonSenor