У меня есть XML файл со следующей структурой:
<?xml version="1.0" encoding="UTF-8"?>
<report>
<data>
<table>
<row>
<cell name="grouping_type">-1</cell>
<cell name="book_name">Citygroup</cell>
<cell name="account"/>
<cell name="owner_name"/>
</row>
<row>
<cell name="grouping_type">1</cell>
<cell name="book_name">Citygroup</cell>
<cell name="account">10933tros_3</cell>
<cell name="owner_name">10933os</cell>
</row>
</table>
</data>
</report>
И еще один:
<?xml version="1.0" encoding="UTF-8"?>
<report>
<data>
<table>
<row>
<cell name="grouping_type">-1</cell>
<cell name="book_name">Citygroup</cell>
<cell name="account"/>
<cell name="ïd"/>
<cell name="owner_name"/>
</row>
<row>
<cell name="grouping_type">1</cell>
<cell name="book_name">Citygroup</cell>
<cell name="account">10933tros_3</cell>
<cell name="ïd">12</cell>
<cell name="owner_name">10933os</cell>
</row>
</table>
</data>
</report>
Единственное отличие - это дополнительный элемент "ячейка" с атрибутом name = " Я бы". Могу ли я сравнить эти два XML файла, используя XMLunit, чтобы единственным отличием был дополнительный элемент «ячейка».
Мой код:
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc1 = docBuilder.parse(downloadedFile);
Document doc2 = docBuilder.parse(etalonFile);
org.custommonkey.xmlunit.Diff myDiff = new Diff(doc1, doc2);
DetailedDiff detailedDiff = new DetailedDiff(myDiff);
Iterator<org.custommonkey.xmlunit.Difference> iter = detailedDiff.getAllDifferences().iterator();
org.custommonkey.xmlunit.Difference diff;
NodeDetail controlNodeDetail;
NodeDetail testNodeDetail;
while (iter.hasNext()) {
diff = iter.next();
controlNodeDetail = diff.getControlNodeDetail();
System.out.println(diff);
}
XMLUnit сравнивает ячейку "id" первой XML с ячейкой "owner_name" второй. Можно ли решить мою проблему с помощью XMLUnit?