java - XMLUnit 忽略元素顺序

标签 java xml xmlunit

我在 XMLUnit 的帮助下比较两个 xml 文件 现在如果我使用这段代码来比较

@Test
public void testForEquality() throws Exception {
 String xml1 = "<table = "01"><uid></uid></table><table = "02"><uid></uid></table>";
 String xml2 = "<table = "02"><uid></uid></table><table = "01"><uid></uid></table>";
 assertXMLEqual(myControlXML, myTestXML);
 Diff diff = new Diff(myControlXML, myTestXML);
 assertTrue(diff.similar());
}

现在它给了我:预期属性值“02”,但结果是“01” 但我不想要差异,我希望表 id 是唯一的并且只检查 在这种情况下,Main-Element 是什么:table -> 如果在其他文件中看到相同的表 id,则包含该内容。

我已经研究过类似的问题,但它们并没有帮助我。

最佳答案

您需要告诉 XMLUnit 应用哪些规则来识别应相互匹配的表元素。您可以通过配置 ElementQualifier 来实现这一点 - 在您的情况下,您将需要使用内置的 ElementNameAndAttributeQualifier 将标识属性的名称作为构造函数参数传递。

关于java - XMLUnit 忽略元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191939/

相关文章:

xml - 在根元素中定义 xmlns 时如何解析 xpath

xml - 如何替换xml属性值?

java - 无法向 XMLUnit 注册命名空间

java - XMLUnit-2 比较部分 XML

java - Swing 中的增量图形

java - PBEKeySpec C++ 模拟

python - 如何在我们自己的模块中继承特定的 View ?奥多

c# - 如何使 XMLUNIT 的 WithNodeFilter 动态 C#

java - 如何在java中迭代用户首选项的节点

Java 引用问题