首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XmlUnit和子节点

XmlUnit和子节点
EN

Stack Overflow用户
提问于 2013-05-22 10:24:48
回答 2查看 1.6K关注 0票数 1

我正在使用xmlunit比较两个文本文件。控件xml为:

代码语言:javascript
复制
<books>
    <book>
       <name>Angels &amp; Demons</name>
       <isbn>9971-5-0210-0</isbn>
       <author>Dan Brown</author>
       <category></category>
    </book>
</books>

我正在将其与交换了和元素的另一段xml进行比较。

代码语言:javascript
复制
<books>
    <book>
        <isbn>9971-5-0210-0</isbn>
        <name>Angels &amp; Demons</name>
        <author>Dan Brown</author>
        <category></category>
    </book>
</books>

Diff对象报告以下差异:

代码语言:javascript
复制
Expected sequence of child nodes '1' but was '3' - comparing <name...> at /books[1]/book[1]/name[1] to <name...> at /books[1]/book[1]/name[1]

如果<name>是子节点“%1”,<isbn>不是子节点“%2”吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-22 22:11:36

看起来XmlUnit将xml中的回车计算为子节点。设置以下XMLUnit.setIgnoreWhitespace(true);提供了更直观的子节点“0”但为“1”的预期序列的结果-比较<int...> at /struct[1]/int[1] to <int...> at /struct[1]/int[1]

票数 0
EN

Stack Overflow用户

发布于 2016-02-19 15:48:21

xmlUnit 2.X版本的

对于xmlUnit 2.xx版本,XMLUnit.setIgnoreWhitespace(true)不再适用。现在,您可以通过添加DiffBuilder.ignoreWhitespace()将“忽略空格”直接添加到DiffBuilder。

代码语言:javascript
复制
Diff diffXml =DiffBuilder.compare(expectedXml).withTest(actualXml).normalizeWhitespace().checkForSimilar().build();

要断言这两个xmls是相似的,您可以例如。执行以下操作:

代码语言:javascript
复制
   MatcherAssert.assertThat(diffXml.toString(), is("[identical]"));

有关1.x到2.x之间更改的更多信息,请参阅:https://github.com/xmlunit/user-guide/wiki/Migrating-from-XMLUnit-1.x-to-2.x

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16682486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档