java - 如何通过跳过几个节点来比较两个 xml?

标签 java xml-parsing xmlunit

我有两个字符串格式的 xml。需要通过跳过几个节点来比较它们。结果中只需要节点的差异和对​​应的值即可。

假设我有以下两个 xml:

消息-1

<block4>
   <tag>
        <name>35B</name>
        <value>/GB/B0W1VM9</value>
   </tag>
</block4>

消息 - 2

<block4>
   <tag>
        <name>35B</name>
        <value>/US/999999999
    NOT AVAILABLE AT PRESENT</value>
    </tag>
</block4>

我正在使用 XMLUnit,但我想找到几个 block 的差异,并想跳过几个具有特定值的节点。就像 <tag>值为 : :PREV 应被跳过。

注意:最后想在Excel中打印结果。

使用了以下代码但没有用:https://stackoverflow.com/a/16471601/3493471

最佳答案

我认为您仍然可以使用 XMLUnit 来完成该工作,但不能使用默认设置。相反,您可能想要实现一个忽略某些属性或节点的自定义 DifferenceEvaluator

参见XMLUnit DifferenceEvaluator了解详细信息和示例。

关于java - 如何通过跳过几个节点来比较两个 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300641/

相关文章:

java - 具有固定宽度的 JTextPane 首选大小

java - Android:系统资源和应用程序资源之间的区别?

java - Jasper可以编译web.xml中的XML外部实体吗?

java - 在 XstreamAliasing 中使用冒号时出现异常

java - 比较两个xml并使用Java查找丢失的节点

c++ - 用于 C++ 的 XMLUnit

java - 使用 xmlunit 自定义输出消息进行 XML 比较

java - 数学排列码?

java - TreeItem javaFX 的不同行为

go - 解析 plist xml