容忍行长度的 XML 差异

容忍行长度的 XML 差异

我看过以下答案这个问题,不幸的是,到目前为止,它们都没有帮助到我。

直截了当地说,《C# 深度解读》第二版现在正在编辑中。我希望能够非常轻松地看到编辑所做的工作,以便我可以拒绝或接受他的更改。

我们使用的是经过修改的 docbook 版本,但我很高兴看到原始的 XML 源代码。到目前为止一切都很好 - 除了当文本编辑器进行更改时,这可能会改变换行。所以以前是这样写的:

<para>Foo bar baz
 second line</para>

现在读

<para>Foo bar grontle
 baz second line</para>

现在真实的此处的更改是插入了“grontle”。我不关心“baz”是否从第一行移到了第二行,但我见过的所有 diff 工具都关心。

我意识到一种选择是将整个文档(或可能只是整个段落)重新格式化为单行......但这真的很难阅读,因为差异工具在显示时不会换行。

我相信我能管理用我现有的工具,如果有人知道更好的方法,我会非常高兴。我想我的出版商也会知道。

(我在这里添加了 Windows 标签,因为我真的需要它在 Windows 上可用。我想听到关于任何非 Windows 软件也是如此,但仅限于我可以帮助在 Windows 上构建它的情况。

答案1

好像SourceGear DiffMerge会为您提供此功能,其规则集支持 XML(和许多其他语言)。我不确定它是否能解决您的所有问题,因为示例当然是实际程序的简化。我尝试了稍微复杂一些的更改,这些更改似乎也能正常工作。

请参阅下面的示例以了解您描述的差异

简单差异

答案2

我的解决方案是无可比拟.(更强大的工具)

因此我们首先要看清问题。

在此处输入图片描述

BC 具有特殊的 XML 解析角色:(它已经具有 XML 角色,但没有预分析功能 - 这是分类整理

在此处输入图片描述

所以我们去http://www.scootersoftware.com/download.php?zz=kb_moreformats_alt

在此处输入图片描述

现在 -

在此处输入图片描述

希望你能在下一版 C# 深度版中使用它

ps 如果图片文字太小,请点击图片加载原图。

答案3

我是 XML diff 工具(商业软件)的作者,该工具应该可以完成这项工作(以及一些其他功能)。这里有一个测试版本(限制为最大 100 KB 的 XML 文件)可供下载:

http://xmldifftool.com/download_en.html

这里还有一个简短的介绍:

http://xmldifftool.com/xtcmanual_en.html

答案4

SD 智能差分器根据以下条件比较文档结构而不是实际布局。

有一个 XML Smart Differencer。对于 XML,这意味着匹配标签和内容的顺序。它应该注意到您指示的特定片段中的文本字符串是不同的。(它目前不理解 XML 文本的概念,其中空格是规范化的而不是有意义的,但我认为这不会对您造成太大的伤害)。

相关内容