问题标签 [xmlunit-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - 比较 XML 忽略元素顺序
使用 XMLUnit 2 如何在不考虑元素顺序的情况下比较两个文档?
我收到了 XMLUnit 1 的这个问题,但显然 v2 中的新 API 不再具有上述方法。
这是我当前的代码:
编辑 Stefan Bodewigs 评论:
这些是我与上面的片段比较的两个字符串:
报告的差异
xmlunit - 比较 XMLUnit 2 中的子节点 - 预期子节点 'node2' 但为 'null'
我需要使用XMLUnit 2
xml 子节点的顺序不同的地方来比较 XML 文件。由于使用了底层库,我无法影响子节点的顺序。
为了比较,我正在使用:
问题归结为这个 JUnit 测试:
其中t1.xml
包含:
并t2.xml
包含:
实际上,node1
并且node2
是按顺序更改的。测试结果是:
我想知道是否可以将此类 xml 文件与XMLUnit 2
. 任何形式的帮助表示赞赏。
java - Can't register namespace with XMLUnit
I can't seem to work out how to set namespace when comparing XML's using xmlunit-2
Tried like:
but always get
org.xmlunit.XMLUnitException: The prefix "text" for element "text:b" is not bound.
stripping away the namespace prefix from elements make it work, but I would like to learn how register properly the namespace with DiffBuilder
.
The same problem/ignorence I experience with xmlunit-1.x
so hints using that library I would appreciate as well.
EDIT, based on the answer
By adding the namespace attribute to the root node I managed to bind the namespace
<a xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0">
thanks Stefan
java - XMLUnit 2.0 - 无法避免与自定义元素选择器进行顺序比较
首先感谢您提供这个很棒的图书馆,它真的很棒。
我在比较 xml 文档中不同顺序的元素时遇到问题。我开发了一个自定义 ElementSelector 以与 NodeMatcher 一起使用(稍后的代码),但它似乎仍然基于元素顺序而不是元素内容进行检查。让我写一个例子
控制
测试
我是如何制作差异的
我是如何创建 ElementSelector 选择器的
PersonNodeMatcher 实际是如何实现的
该例程仍在按顺序检查节点,因此它们永远不会匹配。我认为提供一个节点自定义节点匹配器,我将能够使用提供的 tagName 检查所有元素。
我做错了什么还是根本不可能?
[更新] 使用 alpha3 我必须对代码进行一些修改,特别是:
java - 使用 xmlunit 比较两个 xml,忽略它们的顺序
我有两个 xml 文件,我需要使用 xmlunit 进行比较
这些 xml 文件的内容总是相同的,除了它们的顺序
前任:
这里内部组件的顺序可能会有所不同,如下所示
当我比较这两个 xml 时,我希望 diff.similar() 为真。
到目前为止我尝试的是
我尝试了不同的 overrideElementQualifier 选项,但没有任何效果。请让我知道解决方案。
.net - 针对架构断言 Xml 文档,因此文档必须包含所有架构的元素
使用 NUnit 和 XMLUnit.NET
我有两个测试验证生成的 Xml 文档是否针对模式
第一个测试只需要元素
第二次测试所有元素
这两个测试几乎涵盖了所有需要的情况,如元素的类型、顺序和要求。
除非架构包含一个元素,minOccurs="0" maxOccurs="1"
并且在第二个测试(WithAllElements)中生成的 Xml 文档中缺少该元素。
问题:是否有一个断言/验证方法可以根据需要处理模式中的所有元素?
我想要这个用于需要添加新元素的情况。然后添加新元素,事件minOccurs="0"
将打破测试。
java - 带有 XMLUnit 2 和默认命名空间的 Java XPath
我在使用 XMLUnit 2.0.0 和默认命名空间编写 XPath 时遇到了问题。这是我的示例 xml:
我无法使用以下 XMLUnit XPath 代码访问任何元素:
如何使用默认命名空间使用 XPathEngine/XPath 访问元素?
java - 如何禁用 XMLUnit DTD 验证?
我正在尝试使用XMLUnit 2.2.0 比较两个 XHTML 文档。但是,它需要的时间太长。我猜图书馆正在从 Internet 下载 DTD 文件。
如何禁用 DTD 验证?我正在使用以下测试代码:
阅读XMLUnit Javadoc,DiffBuilder.withDocumentBuilderFactory()
我想我可以像这样设置一个文档构建器工厂...
那没起效。就在我从 XHTML 片段中删除 DOCTYPE 定义时,我的代码运行得很快。
java - 比较 XML 忽略子顺序
我已经用谷歌搜索过这个问题,我知道还有 10 个其他类似的问题,但我似乎无法让它发挥作用..
我想比较 2 个 xml 字符串,只得到拼写错误或类似内容的差异,而忽略子顺序。这是我的代码自动取款机:
而我的结果....
等等。我刚刚在 xmlTestFalse.xml 文件中切换了一些依赖项(还添加了一些成功显示的拼写错误)。并且仍然注意到切换的依赖关系。为什么??我尝试做这样的事情,因为我有相同版本的 xmlunit:像这样
java - 在 XMLUnit 中打印所有差异的惯用方式是什么?
我正在尝试使用包含所有发现的差异的(文本)报告来覆盖默认的 XMLUnit 行为,即仅报告两个输入之间发现的第一个差异。
到目前为止,我已经完成了这个:
但我不喜欢:
- 必须遍历
Differences
客户端代码。 - 进入该比较类型的内部并使用该类型进行
DefaultComparisonFormatter
调用。getDetails
null
- 用虚线连接差异。
也许这只是来自一种不合理的坏直觉,但我想知道是否有人对这个用例有一些意见。