9

我正在尝试查看是否可以使用 XMLUnit 来比较以下两个不同的 XML。我使用 Diff 类来比较以下两个 XML 并检查相似的返回 false。

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()
4

1 回答 1

2

xmlDiff.similar应该可以解决问题,但我经历过这并不总是有效。我的解决方法是在比较之前对元素进行排序。

请注意,在您的应用程序中构建以在输出中具有明确定义的顺序通常是一个好主意,因为这使得自动测试变得更加容易。

于 2010-10-15T04:41:41.687 回答