XMLUnit を使用して 2 つの XML ファイルを比較しています (唯一の違いはバージョンです)。
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<version>1.4</version>
</dependency>
と:
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<version>1.5</version>
</dependency>
以下に示すコードを使用します。
XMLUnit.setIgnoreWhitespace(true);
DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(getGoodXML(), getWrongXML()));
List<Difference> allDiifferences= diff.getAllDifferences();
for(Difference in : allDiifferences){
System.out.println("VALUE1("+in.getControlNodeDetail().getValue()+") VALUE2("+in.getTestNodeDetail().getValue()+")");
}
現在、これら 2 つの XML ファイルの違いをすべて取得しています。私の目標は、これらのさまざまな要素へのパス全体を取得することです。私はこのようなものを得ることができるはずです:
/dependency/version/ VALUE1(1.4) VALUE2(1.5)
次のようなものを使用するよりも、パス全体を取得するためのより良い方法があると思います。
Node previousNode = in.getControlNodeDetail().getNode.getParentNode()
以前のノード名をすべて取得する方法を探しています。ヒントはありますか?