Сравнение объектов XML
У меня есть файл пакета XML, который я хотел бы прочитать и сравнить объекты в комплекте. Начальная позиция будет mo
тег до следующего mo
тег. я сделал xmlunit
но это сравнивает 2 XML-файлов. Я хотел бы иметь возможность сравнивать объекты в одном файле пакета XML.
Не знаю, имеет ли это смысл. Если нужно больше информации, я могу попытаться объяснить больше.
Образец XML-файла:
<mo>FIELD</mo>
<pk1>DM_READEXTRACT</pk1>
<bo>F1-FieldPhysicalBO</bo>
<boData>
<field>DM_READEXTRACT</field>
<dataType>CHAR</dataType>
<isSigned>false</isSigned>
<isWorkField>false</isWorkField>
<version>9</version>
</boData>
<entities>
<processingSequence>560</processingSequence>
<sequence>560</sequence>
</entities>
<mo>FIELD</mo>
<pk1>DM_READEXTRACT</pk1>
<bo>F1-FieldPhysicalBO</bo>
<boData>
<field>DM_READEXTRACT</field>
<dataType>CHAR</dataType>
<isSigned>false</isSigned>
<isWorkField>false</isWorkField>
<version>2</version>
</boData>
<entities>
<processingSequence>30</processingSequence>
<sequence>3</sequence>
</entities>
2 ответа
XMLUnit работает на Node
s также - по крайней мере, 2.x делает.
Глядя на ваш пример, вы хотите сравнить не правильное дерево, а простую форму - нет корневого элемента, от которого все остальные являются потомками.
Что вы можете сделать, это создать DocumentFragment
для каждого forrest вы хотите сравнить (как на тестовой, так и на контрольной сторонах) и добавить в него все корни вашего forrest - и затем сказать XMLUnit работать над DocumentFragment
s. Вы можете получить экземпляр DocumentFragment
сначала загрузив DOM Document
а потом звонит createDocumentFragment
в теме.
Может быть, попытаться разобрать XML для объектов Java и сравнить? http://www.mkyong.com/java/jaxb-hello-world-example/