Diff 2 Open XML Word文档

时间:2010-11-19 11:47:41

标签: c# openxml

提前感谢您的任何帮助和帮助。

我正在尝试找到一些实用性/方向,以便最好地比较两个单词docx文件(原始版本和修改版本)的差异,然后突出显示c#中修改版本的更改。

再次感谢您提供的任何帮助。

6 个答案:

答案 0 :(得分:5)

OpenXML SDK 2.0 Toolkit附带了一个执行此操作的工具。它叫做OpenXMLDiff。您还可以在此处阅读工具包提供的其他内容:An introduction to Open XML SDK 2.0

如果这不是您所需要的,那么您将不得不浏览Open XML文档的每个包并确定它们之间的差异。

答案 1 :(得分:2)

您可以使用属于MS'XML Diff and Patch Tool'的XMLDiff.exe实用程序。

在MSDN文章“Using the XML Diff and Patch Tool in Your Applications”中阅读更多内容。

下载链接:Xmldiffpatch.exe(也在MSDN文章的最开头)。

答案 2 :(得分:0)

docx文件是重命名的zip文件。您可以将其重命名为.zip并将其解压缩。

但是docx不是单个文件的zip ...它是一个包含xml文件的文件夹层次结构。因此,您可以将其解压缩并编写比较实用程序(如Beyond Compare)以获取差异。

我不确定你会如何呈现差异?您想直观地显示Word文档中的差异吗?例如第二个文件等中缺少此段。

答案 3 :(得分:0)

文档内容是XML标记的,并根据在保存之间添加/修改/删除的任何选项,更改,重点等进行细分。像添加和删除换行这样简单的事情可能会导致不同的物理XML结构。最终的实际内容不会有任何差异,但XML可能会有所不同。

您想要识别的“差异”到底是什么?这将决定您需要对内部结构进行多少解析,以及可以使用哪些技术或工具来识别差异。

答案 4 :(得分:0)

列出了一些OpenXML差异工具here

答案 5 :(得分:0)

我会稍微刷新一下这个话题。目前" Open XML SDK 2.5 Productivity Tool"做的事情。我发现它在不同的pptx \ docx \ xlsx文件中非常有用。 Open XML SDK 2.5

如果你正在使用Visual Studio,你还应该考虑添加这个插件: Open XML Package Editor for Visual Studio。 当您快速查看文件或更改内容时,这非常有用。