问题标签 [xmlunit]

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.

0 投票
1 回答
616 浏览

xmlunit - XmlUnit 空元素

我尝试将两个 xml 与 xmlUnit 进行比较。我有以下问题。当我有两个空元素时,如下例 xmlUnit 将元素标识为差异。我可以将 xmlUnit 配置为忽略这个吗?

</name><name></name>

我只对下面两个例子的差异感兴趣。

<name>test1</name><name>test2</name>

区别:test1 和 test2

或者

<name>test1</name><name></name> 差异 test1 和 ...

我的代码:

`

`

0 投票
3 回答
1121 浏览

java - xmlunit 看到相同 xml 中的差异

我第一次使用 xmlunit 来比较 2 条 xml。它显示出巨大的希望,但在第一个障碍中失败了。它正在比较两个几乎相同的 xml,并声称它们是不同的。

xmlunit返回的结果如下:

但是xml几乎是一样的。这是控制:

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope"> <SOAP-ENV:Body> <v:messagegroup xmlns:v="http://www.outfit.net/chargingandpayments/message/1.0"> <v:request> <v:msgcontrol> <v:country>GB</v:country> <v:caller> <v:name>CORE</v:name> <v:signature>Signature</v:signature> <v:version>v10</v:version> </v:caller> <v:headers/> </v:msgcontrol> <v:validate> <v:accountId>MSISDN</v:accountId> </v:validate> </v:request> </v:messagegroup> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

这是测试字符串:

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope"> <SOAP-ENV:Body> <v:messagegroup xmlns:v="http://www.outfit.net/chargingandpayments/message/1.0"> <v:request> <v:msgcontrol> <v:country>GB</v:country> <v:caller> <v:name>CORE</v:name> <v:signature>Signature</v:signature> <v:version>v10</v:version> </v:caller> <v:headers /> </v:msgcontrol> <v:validate> <v:accountId>lblabla</v:accountId> </v:validate> </v:request> </v:messagegroup> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

我究竟做错了什么?

0 投票
1 回答
91 浏览

java - 使用 RecursiveElementNameAndTextQualifier 将 XML 与 XML 单元进行比较

我正在尝试将两个使用 XML 单元的 xml 结构与 RecursiveElementNameAndTextQualifier 进行比较。

我的程序和 XML 如下。

我总是得到错误的价值。我需要设置哪些额外的值来比较这两个 xml 结构。

0 投票
1 回答
544 浏览

java - XMLUnit RecursiveElementNameAndTextQualifier 不起作用

您好我正在尝试使用 XML Units RecursiveElementNameAndTextQualifier ,但我的以下测试失败了。当我在下面的测试 xml 文件中交换 foo3 和 foo2 的值时,测试通过 true (for diff.similar()) 。不确定问题是什么。RecursiveElementNameAndTextQualifier 只会达到特定的深度?

控制:

0 投票
1 回答
1869 浏览

java - JDOM 使用了太多内存

我有一个使用 XmlUnit 从两个 XML 文件中获取差异的应用程序。但问题是 XmlUnit 使用 JDOM。我的 xml 文件大约 1GB 大!

将这些 xml 存储在 JDOM 文档中需要太多 RAM。

我曾尝试使用 SlimJDOMFactory 但仍然使用太多 RAM!

实际上我需要在 XML 文件中向前和向后导航。如果没有 JDOM,我没有找到简单的方法。

任何人都可以帮忙吗?

这是关于我如何构建 JDOM 文档的代码示例:

0 投票
1 回答
2841 浏览

groovy - SoapUI log.info 在比较两个 xml 文件并记录差异时由于某种原因打开对话框

出于某种原因,以下脚本在执行时不仅会在日志中打印输出,还会在信息弹出对话框中打印输出。有人可以向我解释为什么会发生这种情况以及如何防止它发生吗?

编辑:通过实验,我发现以下行:

这就是弹出对话的原因。我猜测 getAllDiffenes() 方法会导致对话框弹出。

我仍然需要一些帮助来确定可行的替代方案,因为我正在尝试比较两个 xml 文件并打印文件中的差异。

0 投票
1 回答
844 浏览

xmlunit - XMLUNIT - 比较具有不同节点的两个 xml

我有 2 个要比较的 XML:

文件1.xml

文件2.xml

我正在使用 xmlunit 进行比较,但是我得到的输出如下:


我需要表示输出,以便它只告诉我以下差异:File1.xml 中缺少节点 CandidateID 以及节点候选名称的数据差异。我不需要额外的细节。有没有办法调整 detDiff.getAllDifferences() 的输出。

代码快照如下所示:

0 投票
1 回答
656 浏览

java - XMLUnit 与 HTML 文件的差异

我正在尝试将 XMLUnit 的差异与两个 HTML 文档一起使用。为此,我将它们转换为字符串,然后从这两个字符串构造一个 diff 对象。

但是,这会引发以下 SAXException:

因此,我需要将此 HTML 转换为有效的 XML。我看到 XMLUnit 提供了 HTMLDocumentBuilder 似乎提供了一种方法来做到这一点,但仅用于 XPath 评估。什么是转换为有效 HTML 以便我可以进行 XMLUnit diff 的简单方法?

0 投票
1 回答
579 浏览

java - 仅用 XMLUnit 区分 XML 的标签(无文本或属性)

我正在尝试使用 XMLUnit 来区分两个 XML 文档的整体结构(无文本/属性),如下所示:

尽管我覆盖了DetailedDiff上的差异侦听器,但我仍然得到以下结果:

DifferenceListener 是否不适用于 getAllDifferences?如果是这样,还有另一种方法来区分标签吗?

0 投票
1 回答
248 浏览

java - 如何检查 XML 文档中是否存在子树

我需要检查 XML 文档是否包含给定的 XML DOM 子树。我只需要确保该子树中的所有元素和属性都存在于文档中。但是,文档的子树中可以有更多元素或属性与给定子树匹配以进行比较。我希望他们从比较中被跳过。

到目前为止,我已经实现了自己的解决方案,它在给定的 XML 文档中找到由 Node 类表示的子树。此 Node 类仅包含比较所需的属性 - 元素名称、文本内容、子节点列表和属性映射。我已经实现了我自己的类并且没有使用 org.w3c.dom.Node 因为它太大了,包含我的测试场景的许多不必要的属性。由根节点元素表示的子树一个接一个地迭代,并使用 XPath 在给定的 XML 文档中搜索其每个子树,直到检查整个树或找不到任何子树。

此解决方案仅在我需要检查子树是否存在时才有效。但是,我使用它来检查经常更改的大型配置文件,并且很难找到更改发生的确切位置。这就是为什么我考虑使用一些现有的解决方案,这些解决方案具有更好的输出并且可以很容易地看到差异。不幸的是,我找不到任何符合我标准的东西。

有没有允许这样做的工具?我听说过 XMLUnit 并快速查看了它,但我不确定它是否能够在忽略任何其他元素或属性的文档中找到子树。如果可能的话,你能告诉我一个如何在 XMLUnit 中执行此操作的示例吗?