Сравнение объектов 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 работает на Nodes также - по крайней мере, 2.x делает.

Глядя на ваш пример, вы хотите сравнить не правильное дерево, а простую форму - нет корневого элемента, от которого все остальные являются потомками.

Что вы можете сделать, это создать DocumentFragment для каждого forrest вы хотите сравнить (как на тестовой, так и на контрольной сторонах) и добавить в него все корни вашего forrest - и затем сказать XMLUnit работать над DocumentFragments. Вы можете получить экземпляр DocumentFragment сначала загрузив DOM Document а потом звонит createDocumentFragment в теме.

Может быть, попытаться разобрать XML для объектов Java и сравнить? http://www.mkyong.com/java/jaxb-hello-world-example/

Другие вопросы по тегам