2010-11-19 135 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。 當您快速查看文件或更改內容時,它非常有用。