提前感谢您的任何帮助和帮助。
我正在尝试找到一些实用性/方向,以便最好地比较两个单词docx文件(原始版本和修改版本)的差异,然后突出显示c#中修改版本的更改。
再次感谢您提供的任何帮助。
答案 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。 当您快速查看文件或更改内容时,这非常有用。