我在 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/