我看过以下答案这个问题,不幸的是,到目前为止,它们都没有帮助到我。
直截了当地说,《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
这里还有一个简短的介绍:
答案4
SD 智能差分器根据以下条件比较文档结构而不是实际布局。
有一个 XML Smart Differencer。对于 XML,这意味着匹配标签和内容的顺序。它应该注意到您指示的特定片段中的文本字符串是不同的。(它目前不理解 XML 文本的概念,其中空格是规范化的而不是有意义的,但我认为这不会对您造成太大的伤害)。