XMLUnit

XMLUnit是用来比较两个xml的内容是否一样的Java类库。

在用它之前,我都是用XML String是否相等来比较两个XML是否相等的,但是碰到了如下问题:

1.有时候两个xml只是节点顺序不一样,但是仍然是相等的,比如下面两个xml:

xml1

<a>123</a>
<b>456</b>

xml2

<b>456</b>
<a>123</a>

2.有时候两个xml里面的空行或空格不一致,但是仍然是相等的。

3.有时候一个xml里面有一个空节点,另外一个xml里面没有这个节点,其实两个xml还是等价的,比如下面两个xml:

xml1

<a>123</a>
<b/>

xml2

<a>123</a>

XMLUnit还可以让你自己定义和配置你的各种比较需求,示例如下:

Diff myDiff = DiffBuilder.compare(control)
       .withTest(test)
       .checkForSimilar().checkForIdentical() // [1]
       .ignoreComments() // [2]
       .ignoreWhitespace() // [3]
       .normalizeWhitespace() // [4]
       .withComparisonController(ComparisonController) // [5]
       .withComparisonFormatter(comparisonFormatter) // [6]
       .withComparisonListeners(comparisonListeners) // [7]
       .withDifferenceEvaluator(differenceEvaluator) // [8]
       .withDifferenceListeners(comparisonListeners) // [9]
       .withNodeMatcher(nodeMatcher) // [10]
       .withAttributeFilter(attributeFilter) // [11]
       .withNodeFilter(nodeFilter) // [12]
       .withNamespaceContext(map) // [13]
       .withDocumentBuilerFactory(factory) // [14]
       .ignoreElementContentWhitespace() // [15]

更多的例子可以参考:

https://github.com/xmlunit/user-guide/wiki

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,896评论 0 7
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,430评论 0 5
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,629评论 1 3
  • JSON JSON和XML都是需要解析的 JSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据...
    JonesCxy阅读 2,052评论 2 10
  • 基本概念 DOM DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Ob...
    许先生__阅读 948评论 0 1

友情链接更多精彩内容