2010-11-19 108 views
5

在此先感谢您的帮助和帮助。Diff 2打开XML Word文档

我想找到一些实用程序/方向如何最好地比较两个word docx文件(原始和修改版本)的差异,然后突出显示修改后的版本在c#中的更改。

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

回答

4

OpenXML SDK 2.0 Toolkit附带了一个工具来做到这一点。它被称为OpenXMLDiff。您还可以阅读该工具包在此提供的其他内容:An introduction to Open XML SDK 2.0

如果这不是你所需要的,那么你将不得不通过Open XML文档的每个包来确定它们之间的差异。

0

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

但是,docx不是单个文件的压缩文件。它的文件夹层次结构中包含xml文件。所以你可以把它解压出来,编写一个像Beyond Compare这样的比较实用程序来获得差异。

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

+0

嗨,感谢您的回复,我已经控制了用于创建这些文档的文档编辑器,因此我的意图是禁用了在编辑器中突出显示的选项,以便我可以使用该选项作为突出显示更改/添加的机制该文件。 – Emlyn 2010-11-19 12:00:05

0

文档内容是XML标记和分解取决于任何选项,更改,强调等保存之间添加/修改/删除。只要添加和删除换行符就可以产生不同的物理XML结构。最终的实际内容不会有任何区别,但XML可能会有所不同。

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

0

列出了几个OpenXML diff工具here

0

我会稍微刷新一下这个话题。目前“Open XML SDK 2.5生产力工具”可以做到这一点。我发现它在不同的pptx \ docx \ xlsx文件中非常有用。 Open XML SDK 2.5

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