gpt4 book ai didi

java - 使用 RecursiveElementNameAndTextQualifier(XMLUnit)

转载 作者:行者123 更新时间:2023-12-01 05:06:23 25 4
gpt4 key购买 nike

我需要比较两个具有不同实体顺序的 XML 文件。

 <root> 
<parent1>
<parent2>
<value>1</value>
</parent2>
<parent2>
<value>2</value>
</parent2>
</parent1>
<parent1>
<parent2>
<value>3</value>
</parent2>
<parent2>
<value>4</value>
</parent2>
</parent1>
</root>

如上面的示例所示,如果我交换另一个 xml 文件中 1 和 2 的位置,测试应该会通过。我正在使用 diff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()) 来实现此目的,但它始终无法通过测试!

您能告诉我问题是什么吗?

最佳答案

RecursiveElementNameAndTextQualifier 适用于非常具体的用例,这就是为什么我们从未将其从 examples 包中提升出来。

它告诉 XMLUnit 比较元素 a 和元素 b 如果(且仅当)它们的元素名称匹配并且它们的嵌套文本相同并且它们的所有子节点也相同使用 RecursiveElementNameAndTextQualifier 进行限定按照它们作为子项出现的顺序

在您的示例中,如果交换 12,第一个 parent1 元素将不再符合条件,因为它的子元素不符合使用条件严格的秩序。

您需要的是专门的 ElementQualifier 实现,因为没有内置限定符可以完全满足您的要求。

关于java - 使用 RecursiveElementNameAndTextQualifier(XMLUnit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com