问题标签 [xmldiff]

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 投票
0 回答
78 浏览

java - 比较java中的两个复杂XML

我有一个要求,我需要比较两个包含复杂对象的 xml,我需要比较提交前后 xml 是否有任何变化

什么是最好和最有效的比较方法,我将无法使用 xmlunit api

试过这个
DOMParser parser = new DOMParser();

我将无法使用 xmlUnit api,请帮我解决这个问题

0 投票
0 回答
30 浏览

xmldiff - https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/aa302294(v=msdn.10) 中的 XmlDiff 和补丁使用场景

我必须能够比较来自同一个 xsd 的两个 xml,获得包括添加、删除和更新在内的差异。如果发生更新,我还需要在更新之前获取一个值。

XmlDiff 和 Patch 看起来很有希望,我决定根据文章中的示例编写一些代码来尝试自己,但是根据第二个 xml 的外观,我有各种不同的修补结果。

这是我的尖刺代码。

xml1.xml 和 xml2.xml 是本文中两个 xml 的变体。

1. 实验一

两个 xml 以相同的顺序具有相同数量的“模型”,但在第二个 xml 中更新了 Outback 的两个标签。

[xml1.xml]

[xml2.xml]

[修补结果]

模型 Outback 具有更新的这两个元素,但我希望前缀是 ns2,但它是 ns1,如下所示。为什么是这样?

2. 实验二

第二个 xml 更新了 Outback 的两个标签和一个新模型 Impreza。这就是文章中描述的内容。

[xml1.xml]

[xml2.xml]

[修补结果]

  1. Outback Muffler 有其前缀 ns1,但 WindShieldWipers 的前缀是 ns2,而两者都是从第二个 xml 更新的。有谁明白为什么 Outback Muffler 前缀是 ns1?
  2. Impreza 的所有元素都应具有前缀 ns2,因为该模型未出现在原始 xml 中,但具有 WindShieldWipers ns1。为什么是这样?

3. 实验三

第二个 xml 删除了模型 Legacy,添加了新模型 Impreza,并更新了模型 Outback 的两个标签。

[xml1.xml]

[xml2.xml]

[修补结果]

  1. Outback的更新标签应该有前缀ns2,但只有一个有它??
  2. Impreza的所有标签都应该是ns2,但都是ns1??

我的期望是,如果修补后的结果具有来自第二个文件的值,那么它将与前缀 ns2 相关联,但有时确实如此。有时它不会。难道我的期望不对吗?我很乐意根据期望得到纠正。

Xoxo

0 投票
1 回答
76 浏览

python - 使用python比较两个性能良好的xml文件

我想使用 Python 比较 2 个 xml 并获得特定的输出。

例子:

旧的.xml

新的.xml

我想要的输出:

输出.xml

我写了一个性能很差的非常丑陋的函数,我想找到一种更好的方法来做到这一点。您对如何以良好的表现执行此任务有任何想法吗?

我遇到的一些问题;

  • 2 个 xml 的 ids 列表不相等(可以在 2 个 xml 之间删除或添加对象)
  • 输出的特定格式,阻止我使用经典库来完成这项工作(https://github.com/Shoobx/xmldiff)。但也许有一种解决方法?
0 投票
0 回答
40 浏览

xml - 是否有用于生成 XML 补丁文件的 RFC 5261 实现(而不是应用给定补丁的实现)

我见过一些实现,其中可以将 RFC 5261 应用于 XML 文件以获得原始文件的新补丁版本。我正在寻找 RFC 5261 的实现,它采用两个 XML 文件并创建 XML 补丁,将“a”文件修补到“b”文件中。

0 投票
1 回答
47 浏览

python - 如何在不删除标签的情况下解析 XML 文件?

我有一点 xml 解析问题。

这是我的 junit-1.xml 文件:

这是 junit-2.xml 文件:

最后一个 junit-diff.xml 与上述两个之间的差异:

我需要做什么以及如何解析它以获得如下所示的输出 - 所以我试图以某种方式格式化 junit-diff.xml?

我想使用 xml-diff 库比较两个应用程序版本,现在我的代码如下所示:

添加write()方法后,如下所示:

我正在接收<_io.BufferedReader name='junit-diff.xml'>

所以它没有效果。我应该改变什么?

0 投票
1 回答
40 浏览

python - xml-diff - 按标签获取数据

我有一个解析的小 XML 文件:

而这段代码:

这是一个效果:

我收到 NONEs 而不是 INTs 或一些diff:update标签值。

如何接收图书馆diff:update添加的价值?xml-diff

0 投票
1 回答
22 浏览

java - 尝试使用 XML 单元比较两个 xml 时线程“主”中的异常

以上是我使用的代码,请帮助我,我试图使用 XML 单元比较两个 XMLS 文件,但在线程“main”中出现异常异常 总差异:23

错误跟踪

0 投票
0 回答
52 浏览

python - xmldiff api 返回额外的(不必要的)编辑操作

以下代码比较了一对 python 代码的两个 ast 结构(以 XML 格式)。树之间的唯一区别是如果条件变为-1-中的-0-。

问题是 diff 函数返回多个编辑操作,而不仅仅是一个。

主要代码;

阿斯特;

正如我之前写的,除了 0 变成 1 之外,两棵树完全相同。所以输出应该是;

这是我得到的输出;

我已经浏览了 xmldiff 文档,但无法解决问题。

有什么方法可以防止不必要的被退回或以某种方式优化它?

如果您能提供帮助,我将不胜感激。