首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RecursiveElementNameAndTextQualifier(XMLUnit)

使用RecursiveElementNameAndTextQualifier(XMLUnit)
EN

Stack Overflow用户
提问于 2012-09-27 01:10:56
回答 1查看 414关注 0票数 1

我需要比较两个XML文件,它们都有不同的实体顺序。

代码语言:javascript
复制
 <root> 
  <parent1> 
   <parent2> 
     <value>1</value>  
   </parent2> 
   <parent2> 
    <value>2</value>  
   </parent2> 
  </parent1>  
  <parent1> 
   <parent2> 
     <value>3</value>  
   </parent2> 
   <parent2> 
     <value>4</value>  
   </parent2> 
  </parent1> 
</root>

与上面的示例一样,如果我在另一个xml文件中交换了1和2的位置,测试应该会通过。我使用diff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier())来达到这个目的,但是它总是不能通过测试!

你能告诉我问题出在哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-04 01:14:29

RecursiveElementNameAndTextQualifier适用于一个非常特定的用例,这就是为什么我们从来没有将它推广到examples包之外的原因。

它告诉XMLUnit比较元素a和元素b,如果(且仅当)它们的元素名称匹配,并且它们的嵌套文本相同,并且它们的所有子节点也按照它们作为子节点出现的顺序使用RecursiveElementNameAndTextQualifier进行限定。

在您的示例中,如果您交换了12,那么第一个parent1元素将不再符合条件,因为它的子元素使用严格的顺序不再符合条件。

您需要的是一个专门的ElementQualifier实现,因为没有任何内置限定符可以做您想要的事情。

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

https://stackoverflow.com/questions/12606959

复制
相关文章

相似问题

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