Наверх

ECM-Journal обновился!

Если вы ещё не зарегистрированы на сайте, сделайте это прямо сейчас. Если у вас уже есть профиль, то просто обновите пароль.

DocumentReflector из Open XML Format SDK

Время чтения: 2 минуты
1
DocumentReflector из Open XML Format SDK

DocumentReflector из Open XML Format SDK

Интересный инструмент есть в наборе утилит, которые входят в Open XML Format SDK 2. Называется он DocumentReflector и позволяет для уже имеющегося документа получить код, который генерирует данный документ.

Выглядит это примерно так:

Document Reflector

Левую часть занимает дерево структуры OpenXML-документа, которое упорядочено с учетом структуры пакета, т.е.:

- сам пакет;

- компоненты пакета (parts), с учетом их соподчиненности: т.е. главный компонент, внутри - связанный и т.д. 

- файлы, хранящие содержимое этих частей (их видно на картинке - styles.xml, document.xml, ...)

- а далее уже элементы разметки.

Правая же часть содержит две области: с содержимым выбранного тэга, и с кодом на C#, который данный тэг генерирует.

Программа умеет читать и понимать все три основных языка, поддерживаемых Open Xml SDK (WordprocessingML, SpreadsheetML и PresentationML), а также вспомогательные (DrawingML, VML, ...). Мало того, она умеет генерировать даже код для вставки бинарных данных (например, картинок), ... впрочем, эта возможность напрямую будет вряд ли востребована.

Я думаю, как уже понятно из описания, этой программой могут заинтересоваться в первую очередь те, кому предстоит разбираться с форматами Open XML и с SDK к ним. Вместо того, чтобы рыскать по справке в поисках нужных классов или листать тома спецификации, можно быстро набрать тестовый документ с нужным фрагментом, и, с помощью Reflector`а, получить требуемый код, который уже доработать под собственные нужды. Впрочем, это не отменяет необходимости иметь хотябы минимальное представление об Open XML.

Чтобы прочитать эту статью до конца,
или зарегистрируйтесь

Комментарии 1

Иван Стебленко 16 сентября 2009

класс, давно искал подобное!

Чтобы прокомментировать, или зарегистрируйтесь