gpt4 book ai didi

java - 将类似的 xml 文件与带有无序标签的 XmlUnit 进行比较(具有不同属性的相同标签名称)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:15 28 4
gpt4 key购买 nike

我正在成功尝试 XmlUnit,这对我的工作很有帮助。现在,我有一个小问题,我不知道如何解决。我有一个 java 类,它有一个 Set,当将它转换成 XML 时,里面的元素可以有任何顺序。

当我在 XmlUnit 中尝试这两个文件时,它起作用了(Diff 说它们很相似):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
</AvailableMeasures>
</Monitor>

但是当标签具有相同的名称(具有不同的属性)时它不起作用(它混合了属性,并期望另一个标签中的属性):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>

有什么解决方法吗?

最佳答案

我自己找到了解决方案。

Diff diff = new Diff(controlXml, responseXml);
diff.overrideElementQualifier(new ElementNameAndAttributeQualifier());

关于java - 将类似的 xml 文件与带有无序标签的 XmlUnit 进行比较(具有不同属性的相同标签名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580518/

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