私はxmlunitフレームワークを使用しています(バージョン1.0、または少なくともそれが.jarのマニフェストにあると思います)。
私がやっていることはこれです:
Diff diff=new Diff(xml1,xml2);
diff.overrideElementQualifier(new ElementNameAndAttributeQualifier());
diff.overrideDifferenceListener(new MyCustomDifferenceListener()};
diff.identical()
(xml1,xml2) でインスタンス化された Diff でメソッドを実行すると、MyCustomDifferenceListener.differenceFound(Difference difference) のブレークポイントが 2 回ヒットし、他の順序では 3 回ヒットします。
1 つのケースでのみ発生する 1 つの関連する違いは (説明) です。 somenode[1]/要素[1]/子[196]"
2 つの xml ファイルの違いは、最後の . の後、(そしてルート ノード) を閉じる前に 1 つの '\n' 文字です。
2つのケースのうちの1つでしか違いが得られない理由を知っている人はいますか?
PSコードは MyCustomDifferenceListener() であると思いますが、違いを見つけるものではないため、無関係でした。