Diff 2 Open XML Word Документы - PullRequest
       1

Diff 2 Open XML Word Документы

6 голосов
/ 19 ноября 2010

Заранее благодарим за любую помощь и помощь.

Я пытаюсь найти какую-то утилиту / руководство о том, как лучше сравнить два файла docx слов (оригинальная и измененная версия) на предмет различий, а затем выделить изменения в измененной версии в c #.

Еще раз большое спасибо за любую помощь, которую вы можете оказать.

Ответы [ 6 ]

5 голосов
/ 20 ноября 2010

OpenXML SDK 2.0 Toolkit поставляется с инструментом, который делает это.Это называется OpenXMLDiff.Вы также можете прочитать о том, что еще предлагает инструментарий, здесь: Введение в Open XML SDK 2.0 .

Если это не то, что вам нужно, вам придется пройти через каждый пакетдокументов Open XML и определите различия между ними.

2 голосов
/ 15 декабря 2011

Вы можете использовать утилиту XMLDiff.exe, которая является частью MS 'XML Diff and Patch Tool'.

Подробнее в статье MSDN " Использование инструмента XML Diff and Patch в ваших приложениях ".

Ссылка для скачивания: Xmldiffpatch.exe (также в самом начале статьи MSDN).

0 голосов
/ 06 апреля 2016

Я немного освежу эту тему. В настоящее время «Инструмент повышения производительности Open XML SDK 2.5» делает это. Я нашел это очень полезным в различных файлах pptx \ docx \ xlsx. Open XML SDK 2.5

Если вы используете Visual Studio, вам также следует рассмотреть возможность добавления этого плагина: Открыть редактор пакетов XML для Visual Studio . Это очень полезно, когда вы быстро просматриваете файл или что-то меняете.

0 голосов
/ 20 ноября 2010

В списке есть несколько инструментов сравнения OpenXML здесь .

0 голосов
/ 19 ноября 2010

Содержимое документа помечается XML и разбивается в зависимости от того, какие параметры, изменения, выделение и т. Д. Добавляются / изменяются / удаляются между сохранениями. Простое добавление и удаление новой строки может привести к другой физической структуре XML. Не будет никакой разницы в конечном фактическом контенте, но XML может отличаться.

Что именно считается «разницей», которую вы хотите идентифицировать? Это будет определять, какой анализ внутренней структуры вам нужно сделать, и какие методы или инструменты вы можете использовать для выявления различий.

0 голосов
/ 19 ноября 2010

Файл docx - это переименованный файл zip. Вы можете переименовать его в .zip и извлечь его.

Однако docx - это не zip-файл отдельного файла, а иерархия папок с файлами XML. Так что вы можете извлечь его и написать скрипт для сравнения, например Beyond Compare, чтобы получить различия.

Я не уверен, как бы вы представили различия? Хотите визуально показать разницу в документах Word? например этот абзац отсутствует во втором файле и т. д.

...