Все ли документы MS Word сериализированы в формате XML для чтения? - PullRequest
4 голосов
/ 19 апреля 2010

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

Ответы [ 2 ]

5 голосов
/ 19 апреля 2010

Все файлы .doc хранятся в двоичном формате . Открытие и манипулирование ими - упражнение в БОЛИ.

Все файлы .docx на самом деле представляют собой набор файлов XML, хранящихся в формате ZIP. Правильно, просто измените расширение .docx, или .xmlx, или .pptx на .ZIP, и вы сможете открыть файл, как любой другой ZIP-файл. MS даже имеет API для этих форматов, который называется Office Open XML . Лично я считаю, что API-интерфейсы OOXML имеют довольно крутую кривую обучения, и когда я стремлюсь создавать файлы Word или иным образом манипулировать ими, я просто делаю образец файла, распаковываю его и управляю его внутренностями. IMO Основы файлов OOXML достаточно просты в использовании без большого старого API ...

2 голосов
/ 19 апреля 2010

Все ли документы MS Word сериализованы в формате XML для чтения?

Краткий ответ: нет.

Длинный ответ: После нескольких выпусков MS изменяла форматдля текстовых документов.Таким образом, в Word 6.0–95 используется формат, в Word 97–2002 (он же XP) используется другой, 2003 - другой, а в 2007 - еще один.

Конечно, каждая версия может сохранять и открывать документы в более старых форматах (хотяновые функции обычно не могут быть сохранены в таких старых форматах).

Форматы до 2003 (.doc) представляют собой инкрементные обновления предыдущих и основаны на двоичном формате.

ФорматПредставленный вместе с Office 2007 (.docx) основан на XML и был принят в качестве стандарта ISO «ISO / IEC 29500: 2008 Office Open XML», хотя само слово не полностью соответствует этому стандарту.Обратите внимание, что Word 2007 по-прежнему может сохранять (и открывать) документы в старых двоичных форматах.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...