2010-10-15 7 views
9

Я пытаюсь проверить, могу ли я использовать XMLUnit для сравнения следующих двух разных XML. Я использовал класс Diff для сравнения следующих двух XML и проверки аналогичных возвратов false.XMLUnit - Сравнение двух XML, игнорирующих дочерний порядок

XML One 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="Yes"/> 
     <Answer value="No"/> 
     </Answers> 
    </Question> 
</Required> 

XML Two 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="No"/> ''Order is reversed in XML two 
     <Answer value="Yes"/> 
     </Answers> 
    </Question> 
</Required> 

Вот мой JAVA код:

Diff xmlDiff; 
try { 
    xmlDiff = new Diff(xmlOne, xmlTwo); 
    xmlDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); 
} catch (Exception e) { } 
boolean isEqual = xmlDiff.similar() 

ответ

2

xmlDiff.similar должен сделать трюк, но я испытал, что это не всегда работает. Моим обходным путем было сортировать элементы перед сравнением.

Обратите внимание, что часто полезно создавать в вас приложение, чтобы иметь четко определенный порядок в вашем выходе, поскольку это упрощает автоматическое тестирование.

Смежные вопросы