2 つの類似した xml 文字列があります。XMLUnit を使用してそれらを比較しますが、いくつかのサンプル テストを実行してそれらを確認したところ、それらは類似しておらず同一ではないことが示されました。それらが同一ではないことに同意しますが、同様の場合は true を返す必要があると思います。以下は、実行した文字列とテスト コードです。
<Errors>
<Error>
<Sheet>Sample1</Sheet>
<ErrorCode>4</ErrorCode>
<Columns>
<Column>Id</Column>
<Column>Name</Column>
</Columns>
</Error>
<Error>
<Sheet>Sample2</Sheet>
<ErrorCode>4</ErrorCode>
<Columns>
<Column>Id</Column>
<Column>Name</Column>
</Columns>
</Error>
</Errors>
と
<Errors>
<Error>
<Sheet>Sample1</Sheet>
<ErrorCode>4</ErrorCode>
<Columns>
<Column>Name</Column>
<Column>Id</Column>
</Columns>
</Error>
<Error>
<Sheet>Sample2</Sheet>
<ErrorCode>4</ErrorCode>
<Columns>
<Column>Name</Column>
<Column>Id</Column>
</Columns>
</Error>
</Errors>
唯一の違いは、列ノードが逆になっていることですが、両方の文字列が類似していることを返す必要があると思います。
public void test() throws Exception{
String myControlXML = "here goes xml1";
String myTestXML = "here goes xml2";
Diff myDiff = new Diff(myControlXML, myTestXML);
System.out.println("pieces of XML are similar " + myDiff.similar());
System.out.println("but are they identical? " + myDiff.identical());
}