【问题标题】:XMLUnit-2 compare partial XMLsXMLUnit-2 比较部分 XML
【发布时间】:2020-07-23 03:24:24
【问题描述】:

我有一个本地的test XML 数据如下

testLocalXML

<root>
  <elementA>something different</elementA>
  <elementB>something else</elementB>
  <elementC>yet another thing</elementC>
</root>

但我从服务器获取的数据可能很大,并且会不断增加,例如

服务器响应

<root>
  <elementA>something different</elementA>
  <elementB>something else</elementB>
  <elementC>yet another thing</elementC>
  <elementD>next data</elementD>
  <elementE>another data</elementE>
  <elementF>F data</elementF>
  .
  .
  ... so on...
</root>

我不知道使用以下逻辑可以忽略哪个node。我的节点是动态的。

.withNodeFilter(node -> !(node.getNodeName().equals("elementD") ||
                          node.getNodeName().equals("elementE"))

这里,由于服务器响应是动态的并且不断增加,我将如何使用XMLUnit 验证我在 testLocalXML 中提到的任何数据?

【问题讨论】:

    标签: java xml xmlunit xmlunit-2


    【解决方案1】:

    嗯,我确实知道我感兴趣的元素,所以我可以轻松做到

      final Collection<String> expected = Arrays.asList("root", "elementA", elementB", "elementC");
    

    并且可以添加过滤器为

      .withNodeFilter(n -> expected.contains(n.getNodeName()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      相关资源
      最近更新 更多