DocumentReflector из Open XML Format SDK
DocumentReflector из Open XML Format SDK
Интересный инструмент есть в наборе утилит, которые входят в Open XML Format SDK 2. Называется он DocumentReflector и позволяет для уже имеющегося документа получить код, который генерирует данный документ.
Выглядит это примерно так:
Левую часть занимает дерево структуры OpenXML-документа, которое упорядочено с учетом структуры пакета, т.е.:
- сам пакет;
- компоненты пакета (parts), с учетом их соподчиненности: т.е. главный компонент, внутри - связанный и т.д.
- файлы, хранящие содержимое этих частей (их видно на картинке - styles.xml, document.xml, ...)
- а далее уже элементы разметки.
Правая же часть содержит две области: с содержимым выбранного тэга, и с кодом на C#, который данный тэг генерирует.
Программа умеет читать и понимать все три основных языка, поддерживаемых Open Xml SDK (WordprocessingML, SpreadsheetML и PresentationML), а также вспомогательные (DrawingML, VML, ...). Мало того, она умеет генерировать даже код для вставки бинарных данных (например, картинок), ... впрочем, эта возможность напрямую будет вряд ли востребована.
Я думаю, как уже понятно из описания, этой программой могут заинтересоваться в первую очередь те, кому предстоит разбираться с форматами Open XML и с SDK к ним. Вместо того, чтобы рыскать по справке в поисках нужных классов или листать тома спецификации, можно быстро набрать тестовый документ с нужным фрагментом, и, с помощью Reflector`а, получить требуемый код, который уже доработать под собственные нужды. Впрочем, это не отменяет необходимости иметь хотябы минимальное представление об Open XML.
Комментарии 1
класс, давно искал подобное!