Word xml document 2010

как создать XML-файлы из слова

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

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

Вы можете создавать файлы XML, используя как специализированные программы, так и встроенный текстовый редактор Windows. Удобство написания кода и уровень его функциональности зависят от типа используемого программного обеспечения.

Способ 1: Visual Studio

Вместо этого редактора кода Microsoft вы можете использовать любые его аналоги от других разработчиков. Фактически, Visual Studio — это более продвинутая версия обычного Блокнота. Код теперь имеет специальную подсветку, ошибки автоматически выделяются или исправляются, а специальные шаблоны уже загружены в программу, что упрощает создание больших файлов XML.

Для начала вам необходимо создать файл. Щелкните элемент «Файл» на верхней панели и выберите «Создать…» в раскрывающемся меню. Откроется список, в котором указана запись «Файл».

как создать XML-файлы из слова

Вам будет перенесено окно с выбором расширения файла, соответственно выберите пункт «XML файл».

как создать XML-файлы из слова

Во вновь созданном файле уже будет первая строка с кодировкой и версией. По умолчанию записывается первая версия и кодировка UTF-8, которую вы можете изменить в любой момент. Затем, чтобы создать полный XML-файл, вам нужно записать все, что было в предыдущем операторе.

По окончании работы снова выберите в верхней панели «Файл», затем из выпадающего меню пункт «Сохранить все».

Способ 2: Microsoft Excel

Вы можете создать XML-файл без написания кода, например, используя современные версии Microsoft Excel, что позволяет сохранять таблицы с этим расширением. Однако нужно понимать, что в этом случае у вас не получится создать что-то более функциональное, чем обычный стол.

Этот метод лучше всего подходит для тех, кто не хочет или не умеет работать с кодом. Однако в этом случае пользователь может столкнуться с некоторыми проблемами при перезаписи файла в формате XML. К сожалению, преобразование обычной таблицы в XML возможно только в более новых версиях MS Excel. Для этого воспользуйтесь следующими пошаговыми инструкциями:

  1. Дополните таблицу некоторым содержанием.
  2. Нажмите кнопку «Файл» в верхнем меню.
  3. Откроется специальное окно, в котором нужно нажать «Сохранить как…». Этот пункт находится в левом меню.
  4. Укажите папку, в которой вы хотите сохранить файл. Папка указана в центре экрана.
  5. Теперь вам нужно указать имя файла и в разделе «Тип файла» из выпадающего меню выбрать
    Данные XML».
  6. Нажмите кнопку «Сохранить».

Способ 3: Блокнот

Даже обычный Блокнот вполне подходит для работы с XML, но у пользователя, незнакомого с синтаксисом языка, возникнут трудности, так как в нем придется писать различные команды и теги. Несколько проще и продуктивнее процесс будет в специализированных программах для редактирования кода, например, в Microsoft Visual Studio. В них есть специальные метки и подсказки, которые значительно упрощают работу человеку, не знающему синтаксиса этого языка.

Для этого метода ничего скачивать не нужно, так как в операционной системе уже есть встроенный «Блокнот». Попробуем создать простую XML-таблицу по приведенным инструкциям:

  1. Создайте простой текстовый документ с расширением TXT. Вы можете разместить его где угодно. Открой это.
  2. Начните набирать в нем первые команды. Во-первых, вам нужно установить кодировку для всего файла и указать версию XML, это делается с помощью следующей команды:

    Первое значение — это версия, менять ее не нужно, а второе значение — это кодировка. Рекомендуется использовать кодировку UTF-8, так как с ней прекрасно работает большинство программ и обработчиков. Однако его можно изменить на любое другое, просто набрав желаемое имя.

  3. Создайте первый каталог в вашем файле, написав тег и закрыв его вот так .
  4. Теперь вы можете написать какой-то контент внутри этого тега. Создаем тег и даем ему любое имя, например «Иван Иванов». Готовая конструкция должна выглядеть так:
  5. Внутри тега теперь можно писать более подробные параметры, в данном случае это информация об определенном Иване Иванове. Мы пропишем ваш возраст и местонахождение. 
  6. Если вы следовали инструкциям, вы должны получить тот же код, что и ниже. Когда закончите, найдите «Файл» в верхнем меню и выберите «Сохранить как…» в раскрывающемся меню. При сохранении в поле «Имя файла» после точки должно стоять расширение не TXT, а XML.

как создать XML-файлы из слова

Компиляторам XML необходимо обработать этот код в виде таблицы с одним столбцом, содержащей данные о некоем Иване Иванове.

В «Блокноте» вполне можно создавать такие простые таблицы, но при создании массивов более объемных данных могут возникнуть трудности, так как в обычном «Блокноте» нет функций для исправления ошибок в коде или их выделения.

Как видите, в создании XML-файла нет ничего сложного. При желании его может создать любой пользователь, более-менее умеющий работать на компьютере. Однако для создания полного XML-файла рекомендуется изучить этот язык разметки, по крайней мере, на примитивном уровне.

Время на прочтение
16 мин

Количество просмотров 54K

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

Зачем?

docx — самый популярный формат документов, поэтому задача отдавать информацию пользователю в этом формате всегда может возникнуть. Один из вариантов решения этой проблемы — использование готовой библиотеки, может не подходить по ряду причин:

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

Поэтому в этой статье будем использовать только самые базовые инструменты для работы с docx документом.

Структура docx

Для начала разоберёмся с тем, что собой представляет docx документ. docx это zip архив который физически содержит 2 типа файлов:

  • xml файлы с расширениями xml и rels
  • медиа файлы (изображения и т.п.)

А логически — 3 вида элементов:

  • Типы (Content Types) — список типов медиа файлов (например png) встречающихся в документе и типов частей документов (например документ, верхний колонтитул).
  • Части (Parts) — отдельные части документа, для нашего документа это document.xml, сюда входят как xml документы так и медиа файлы.
  • Связи (Relationships) идентифицируют части документа для ссылок (например связь между разделом документа и колонтитулом), а также тут определены внешние части (например гиперссылки).

Они подробно описаны в стандарте ECMA-376: Office Open XML File Formats, основная часть которого — PDF документ на 5000 страниц, и ещё 2000 страниц бонусного контента.

Минимальный docx

Простейший docx после распаковки выглядит следующим образом

image

Давайте посмотрим из чего он состоит.

[Content_Types].xml

Находится в корне документа и перечисляет MIME типы содержимого документа:

<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
    <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
    <Default Extension="xml" ContentType="application/xml"/>
    <Override PartName="/word/document.xml"
              ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
</Types>

_rels/.rels

Главный список связей документа. В данном случае определена всего одна связь — сопоставление с идентификатором rId1 и файлом word/document.xml — основным телом документа.

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
    <Relationship 
        Id="rId1" 
        Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
        Target="word/document.xml"/>
</Relationships>

word/document.xml

Основное содержимое документа.

word/document.xml

<w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:o="urn:schemas-microsoft-com:office:office"
            xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
            xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"
            xmlns:v="urn:schemas-microsoft-com:vml"
            xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"
            xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
            xmlns:w10="urn:schemas-microsoft-com:office:word"
            xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
            xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
            xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"
            xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk"
            xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
            xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape"
            mc:Ignorable="w14 wp14">
    <w:body>
        <w:p w:rsidR="005F670F" w:rsidRDefault="005F79F5">
            <w:r>
                <w:t>Test</w:t>
            </w:r>
            <w:bookmarkStart w:id="0" w:name="_GoBack"/>
            <w:bookmarkEnd w:id="0"/>
        </w:p>
        <w:sectPr w:rsidR="005F670F">
            <w:pgSz w:w="12240" w:h="15840"/>
            <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" 
                     w:header="720" w:footer="720" w:gutter="0"/>
            <w:cols w:space="720"/>
            <w:docGrid w:linePitch="360"/>
        </w:sectPr>
    </w:body>
</w:document>

Здесь:

  • <w:document> — сам документ
  • <w:body> — тело документа
  • <w:p> — параграф
  • <w:r> — run (фрагмент) текста
  • <w:t> — сам текст
  • <w:sectPr> — описание страницы

Если открыть этот документ в текстовом редакторе, то увидим документ из одного слова Test.

word/_rels/document.xml.rels

Здесь содержится список связей части word/document.xml. Название файла связей создаётся из названия части документа к которой он относится и добавления к нему расширения rels. Папка с файлом связей называется _rels и находится на том же уровне, что и часть к которой он относится. Так как связей в word/document.xml никаких нет то и в файле пусто:

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
</Relationships>

Даже если связей нет, этот файл должен существовать.

docx и Microsoft Word

docx созданный с помощью Microsoft Word, да в принципе и с помощью любого другого редактора имеет несколько дополнительных файлов.

image

Вот что в них содержится:

  • docProps/core.xml — основные метаданные документа согласно Open Packaging Conventions и Dublin Core [1], [2].
  • docProps/app.xml — общая информация о документе: количество страниц, слов, символов, название приложения в котором был создан документ и т.п.
  • word/settings.xml — настройки относящиеся к текущему документу.
  • word/styles.xml — стили применимые к документу. Отделяют данные от представления.
  • word/webSettings.xml — настройки отображения HTML частей документа и настройки того, как конвертировать документ в HTML.
  • word/fontTable.xml — список шрифтов используемых в документе.
  • word/theme1.xml — тема (состоит из цветовой схемы, шрифтов и форматирования).

В сложных документах частей может быть гораздо больше.

Реверс-инжиниринг docx

Итак, первоначальная задача — узнать как какой-либо фрагмент документа хранится в xml, чтобы потом создавать (или парсить) подобные документы самостоятельно. Для этого нам понадобятся:

  • Архиватор zip
  • Библиотека для форматирования XML (Word выдаёт XML без отступов, одной строкой)
  • Средство для просмотра diff между файлами, я буду использовать git и TortoiseGit

Инструменты

  • Под Windows: zip, unzip, libxml2, git, TortoiseGit
  • Под Linux: apt-get install zip unzip libxml2 libxml2-utils git

Также понадобятся скрипты для автоматического (раз)архивирования и форматирования XML.
Использование под Windows:

  • unpack file dir — распаковывает документ file в папку dir и форматирует xml
  • pack dir file — запаковывает папку dir в документ file

Использование под Linux аналогично, только ./unpack.sh вместо unpack, а pack становится ./pack.sh.

Использование

Поиск изменений происходит следующим образом:

  1. Создаём пустой docx файл в редакторе.
  2. Распаковываем его с помощью unpack в новую папку.
  3. Коммитим новую папку.
  4. Добавляем в файл из п. 1. изучаемый элемент (гиперссылку, таблицу и т.д.).
  5. Распаковываем изменённый файл в уже существующую папку.
  6. Изучаем diff, убирая ненужные изменения (перестановки связей, порядок пространств имён и т.п.).
  7. Запаковываем папку и проверяем что получившийся файл открывается.
  8. Коммитим изменённую папку.

Пример 1. Выделение текста жирным

Посмотрим на практике, как найти тег который определяет форматирование текста жирным шрифтом.

  1. Создаём документ bold.docx с обычным (не жирным) текстом Test.
  2. Распаковываем его: unpack bold.docx bold.
  3. Коммитим результат.
  4. Выделяем текст Test жирным.
  5. Распаковываем unpack bold.docx bold.
  6. Изначально diff выглядел следующим образом:

diff
Рассмотрим его подробно:

docProps/app.xml

@@ -1,9 +1,9 @@
-  <TotalTime>0</TotalTime>
+  <TotalTime>1</TotalTime>

Изменение времени нам не нужно.

docProps/core.xml

@@ -4,9 +4,9 @@
-  <cp:revision>1</cp:revision>
+  <cp:revision>2</cp:revision>
   <dcterms:created xsi:type="dcterms:W3CDTF">2017-02-07T19:37:00Z</dcterms:created>
-  <dcterms:modified xsi:type="dcterms:W3CDTF">2017-02-07T19:37:00Z</dcterms:modified>
+  <dcterms:modified xsi:type="dcterms:W3CDTF">2017-02-08T10:01:00Z</dcterms:modified>

Изменение версии документа и даты модификации нас также не интересует.

word/document.xml

diff

@@ -1,24 +1,26 @@
    <w:body>
-    <w:p w:rsidR="0076695C" w:rsidRPr="00290C70" w:rsidRDefault="00290C70">
+    <w:p w:rsidR="0076695C" w:rsidRPr="00F752CF" w:rsidRDefault="00290C70">
       <w:pPr>
         <w:rPr>
+          <w:b/>
           <w:lang w:val="en-US"/>
         </w:rPr>
       </w:pPr>
-      <w:r>
+      <w:r w:rsidRPr="00F752CF">
         <w:rPr>
+          <w:b/>
           <w:lang w:val="en-US"/>
         </w:rPr>
         <w:t>Test</w:t>
       </w:r>
       <w:bookmarkStart w:id="0" w:name="_GoBack"/>
       <w:bookmarkEnd w:id="0"/>
     </w:p>
-    <w:sectPr w:rsidR="0076695C" w:rsidRPr="00290C70">
+    <w:sectPr w:rsidR="0076695C" w:rsidRPr="00F752CF">

Изменения в w:rsidR не интересны — это внутренняя информация для Microsoft Word. Ключевое изменение тут

         <w:rPr>
+          <w:b/>

в параграфе с Test. Видимо элемент <w:b/> и делает текст жирным. Оставляем это изменение и отменяем остальные.

word/settings.xml

@@ -1,8 +1,9 @@
+  <w:proofState w:spelling="clean"/>
@@ -17,10 +18,11 @@
+    <w:rsid w:val="00F752CF"/>

Также не содержит ничего относящегося к жирному тексту. Отменяем.

7 Запаковываем папку с 1м изменением (добавлением <w:b/>) и проверяем что документ открывается и показывает то, что ожидалось.
8 Коммитим изменение.

Пример 2. Нижний колонтитул

Теперь разберём пример посложнее — добавление нижнего колонтитула.
Вот первоначальный коммит. Добавляем нижний колонтитул с текстом 123 и распаковываем документ. Такой diff получается первоначально:

diff

Сразу же исключаем изменения в docProps/app.xml и docProps/core.xml — там тоже самое, что и в первом примере.

[Content_Types].xml

@@ -4,10 +4,13 @@
   <Default Extension="xml" ContentType="application/xml"/>
   <Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
+  <Override PartName="/word/footnotes.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml"/>
+  <Override PartName="/word/endnotes.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml"/>
+  <Override PartName="/word/footer1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/>

footer явно выглядит как то, что нам нужно, но что делать с footnotes и endnotes? Являются ли они обязательными при добавлении нижнего колонтитула или их создали заодно? Ответить на этот вопрос не всегда просто, вот основные пути:

  • Посмотреть, связаны ли изменения друг с другом
  • Экспериментировать
  • Ну а если совсем не понятно что происходит:

Читать документацию
Идём пока что дальше.

word/_rels/document.xml.rels

Изначально diff выглядит вот так:

diff

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
+  <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
   <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/>
+  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/>
   <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/>
   <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
-  <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
-  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/>
+  <Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/>
+  <Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes" Target="endnotes.xml"/>
+  <Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes" Target="footnotes.xml"/>
 </Relationships>

Видно, что часть изменений связана с тем, что Word изменил порядок связей, уберём их:

@@ -3,6 +3,9 @@
+  <Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/>
+  <Relationship Id="rId7" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes" Target="endnotes.xml"/>
+  <Relationship Id="rId8" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes" Target="footnotes.xml"/>

Опять появляются footer, footnotes, endnotes. Все они связаны с основным документом, перейдём к нему:

word/document.xml

@@ -15,10 +15,11 @@
       </w:r>
       <w:bookmarkStart w:id="0" w:name="_GoBack"/>
       <w:bookmarkEnd w:id="0"/>
     </w:p>
     <w:sectPr w:rsidR="0076695C" w:rsidRPr="00290C70">
+      <w:footerReference w:type="default" r:id="rId6"/>
       <w:pgSz w:w="11906" w:h="16838"/>
       <w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="708" w:footer="708" w:gutter="0"/>
       <w:cols w:space="708"/>
       <w:docGrid w:linePitch="360"/>
     </w:sectPr>

Редкий случай когда есть только нужные изменения. Видна явная ссылка на footer из sectPr. А так как ссылок в документе на footnotes и endnotes нет, то можно предположить что они нам не понадобятся.

word/settings.xml

diff

@@ -1,19 +1,30 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <w:settings xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" mc:Ignorable="w14 w15">
   <w:zoom w:percent="100"/>
+  <w:proofState w:spelling="clean"/>
   <w:defaultTabStop w:val="708"/>
   <w:characterSpacingControl w:val="doNotCompress"/>
+  <w:footnotePr>
+    <w:footnote w:id="-1"/>
+    <w:footnote w:id="0"/>
+  </w:footnotePr>
+  <w:endnotePr>
+    <w:endnote w:id="-1"/>
+    <w:endnote w:id="0"/>
+  </w:endnotePr>
   <w:compat>
     <w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/>
     <w:compatSetting w:name="overrideTableStyleFontSizeAndJustification" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
     <w:compatSetting w:name="enableOpenTypeFeatures" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
     <w:compatSetting w:name="doNotFlipMirrorIndents" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
     <w:compatSetting w:name="differentiateMultirowTableHeaders" w:uri="http://schemas.microsoft.com/office/word" w:val="1"/>
   </w:compat>
   <w:rsids>
     <w:rsidRoot w:val="00290C70"/>
+    <w:rsid w:val="000A7B7B"/>
+    <w:rsid w:val="001B0DE6"/>

А вот и появились ссылки на footnotes, endnotes добавляющие их в документ.

word/styles.xml

diff

@@ -480,6 +480,50 @@
       <w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman"/>
       <w:b/>
       <w:sz w:val="28"/>
     </w:rPr>
   </w:style>
+  <w:style w:type="paragraph" w:styleId="a4">
+    <w:name w:val="header"/>
+    <w:basedOn w:val="a"/>
+    <w:link w:val="a5"/>
+    <w:uiPriority w:val="99"/>
+    <w:unhideWhenUsed/>
+    <w:rsid w:val="000A7B7B"/>
+    <w:pPr>
+      <w:tabs>
+        <w:tab w:val="center" w:pos="4677"/>
+        <w:tab w:val="right" w:pos="9355"/>
+      </w:tabs>
+      <w:spacing w:after="0" w:line="240" w:lineRule="auto"/>
+    </w:pPr>
+  </w:style>
+  <w:style w:type="character" w:customStyle="1" w:styleId="a5">
+    <w:name w:val="Верхний колонтитул Знак"/>
+    <w:basedOn w:val="a0"/>
+    <w:link w:val="a4"/>
+    <w:uiPriority w:val="99"/>
+    <w:rsid w:val="000A7B7B"/>
+  </w:style>
+  <w:style w:type="paragraph" w:styleId="a6">
+    <w:name w:val="footer"/>
+    <w:basedOn w:val="a"/>
+    <w:link w:val="a7"/>
+    <w:uiPriority w:val="99"/>
+    <w:unhideWhenUsed/>
+    <w:rsid w:val="000A7B7B"/>
+    <w:pPr>
+      <w:tabs>
+        <w:tab w:val="center" w:pos="4677"/>
+        <w:tab w:val="right" w:pos="9355"/>
+      </w:tabs>
+      <w:spacing w:after="0" w:line="240" w:lineRule="auto"/>
+    </w:pPr>
+  </w:style>
+  <w:style w:type="character" w:customStyle="1" w:styleId="a7">
+    <w:name w:val="Нижний колонтитул Знак"/>
+    <w:basedOn w:val="a0"/>
+    <w:link w:val="a6"/>
+    <w:uiPriority w:val="99"/>
+    <w:rsid w:val="000A7B7B"/>
+  </w:style>
 </w:styles>

Изменения в стилях нас интересуют только если мы ищем как поменять стиль. В данном случае это изменение можно убрать.

Посмотрим теперь собственно на сам нижний колонтитул (часть пространств имён опущена для читабельности, но в документе они должны быть):

<w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:p w:rsidR="000A7B7B" w:rsidRDefault="000A7B7B">
    <w:pPr>
      <w:pStyle w:val="a6"/>
    </w:pPr>
    <w:r>
      <w:t>123</w:t>
    </w:r>
  </w:p>
</w:ftr>

Тут виден текст 123. Единственное, что надо исправить — убрать ссылку на <w:pStyle w:val="a6"/>.

В результате анализа всех изменений делаем следующие предположения:

  • footnotes и endnotes не нужны
  • В [Content_Types].xml надо добавить footer
  • В word/_rels/document.xml.rels надо добавить ссылку на footer
  • В word/document.xml в тег <w:sectPr> надо добавить <w:footerReference>

Уменьшаем diff до этого набора изменений:

final diff

Затем запаковываем документ и открываем его.
Если всё сделано правильно, то документ откроется и в нём будет нижний колонтитул с текстом 123. А вот и итоговый коммит.

Таким образом процесс поиска изменений сводится к поиску минимального набора изменений, достаточного для достижения заданного результата.

Практика

Найдя интересующее нас изменение, логично перейти к следующему этапу, это может быть что-либо из:

  • Создания docx
  • Парсинг docx
  • Преобразования docx

Тут нам потребуются знания XSLT и XPath.

Давайте напишем достаточно простое преобразование — замену или добавление нижнего колонтитула в существующий документ. Писать я буду на языке Caché ObjectScript, но даже если вы его не знаете — не беда. В основном будем вызовать XSLT и архиватор. Ничего более. Итак, приступим.

Алгоритм

Алгоритм выглядит следующим образом:

  1. Распаковываем документ.
  2. Добавляем наш нижний колонтитул.
  3. Прописываем ссылку на него в [Content_Types].xml и word/_rels/document.xml.rels.
  4. В word/document.xml в тег <w:sectPr> добавляем тег <w:footerReference> или заменяем в нём ссылку на наш нижний колонтитул.
  5. Запаковываем документ.

Приступим.

Распаковка

В Caché ObjectScript есть возможность выполнять команды ОС с помощью функции $zf(-1, oscommand). Вызовем unzip для распаковки документа с помощью обёртки над $zf(-1):

/// Используя %3 (unzip) распаковать файл %1 в папку %2
Parameter UNZIP = "%3 %1 -d %2";

/// Распаковать архив source в папку targetDir
ClassMethod executeUnzip(source, targetDir) As %Status
{
    set timeout = 100
    set cmd = $$$FormatText(..#UNZIP, source, targetDir, ..getUnzip())
    return ..execute(cmd, timeout)
}

Создаём файл нижнего колонтитула

На вход поступает текст нижнего колонтитула, запишем его в файл in.xml:

<xml>TEST</xml>

В XSLT (файл — footer.xsl) будем создавать нижний колонтитул с текстом из тега xml (часть пространств имён опущена, вот полный список):

<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns="http://schemas.openxmlformats.org/package/2006/relationships" version="1.0">
    <xsl:output method="xml" omit-xml-declaration="no" indent="yes" standalone="yes"/>
    <xsl:template match="/">

        <w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
            <w:p>
                <w:r>
                    <w:rPr>
                        <w:lang w:val="en-US"/>
                    </w:rPr>
                    <w:t>
                        <xsl:value-of select="//xml/text()"/>
                    </w:t>
                </w:r>
            </w:p>
        </w:ftr>
    </xsl:template>
</xsl:stylesheet>

Теперь вызовем XSLT преобразователь:

do ##class(%XML.XSLT.Transformer).TransformFile("in.xml", "footer.xsl", footer0.xml")    

В результате получится файл нижнего колонтитула footer0.xml:

<w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:p>
        <w:r>
            <w:rPr>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t>TEST</w:t>
        </w:r>
    </w:p>
</w:ftr>

Добавляем ссылку на колонтитул в список связей основного документа

Сссылки с идентификатором rId0 как правило не существует. Впрочем можно использовать XPath для получения идентификатора которого точно не существует.
Добавляем ссылку на footer0.xml c идентификатором rId0 в word/_rels/document.xml.rels:

XSLT

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns="http://schemas.openxmlformats.org/package/2006/relationships"  version="1.0">
    <xsl:output method="xml" omit-xml-declaration="yes" indent="no"  />
    <xsl:param name="new">
        <Relationship 
           Id="rId0" 
           Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" 
           Target="footer0.xml"/>
    </xsl:param>

    <xsl:template match="/*">
        <xsl:copy>
            <xsl:copy-of select="$new"/>
            <xsl:copy-of select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

Прописываем ссылки в документе

Далее надо в каждый тег <w:sectPr> добавить тег <w:footerReference> или заменить в нём ссылку на наш нижний колонтитул. Оказалось, что у каждого тега <w:sectPr> может быть 3 тега <w:footerReference> — для первой страницы, четных страниц и всего остального:

XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
version="1.0">
    <xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />
    <xsl:template match="//@* | //node()">
        <xsl:copy>
            <xsl:apply-templates select="@*"/>
            <xsl:apply-templates select="node()"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="//w:sectPr">
        <xsl:element name="{name()}" namespace="{namespace-uri()}">
            <xsl:copy-of select="./namespace::*"/>
            <xsl:apply-templates select="@*"/>
            <xsl:copy-of select="./*[local-name() != 'footerReference']"/>
            <w:footerReference w:type="default" r:id="rId0"/>
            <w:footerReference w:type="first" r:id="rId0"/>
            <w:footerReference w:type="even" r:id="rId0"/>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>

Добавляем колонтитул в [Content_Types].xml

Добавляем в [Content_Types].xml информацию о том, что /word/footer0.xml имеет тип application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml:

XSLT

<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns="http://schemas.openxmlformats.org/package/2006/content-types"  version="1.0">
    <xsl:output method="xml" omit-xml-declaration="yes" indent="no"  />
    <xsl:param name="new">
        <Override 
         PartName="/word/footer0.xml" 
         ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/>
    </xsl:param>

    <xsl:template match="/*">
        <xsl:copy>
            <xsl:copy-of select="@* | node()"/> 
            <xsl:copy-of select="$new"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

В результате

Весь код опубликован. Работает он так:

do ##class(Converter.Footer).modifyFooter("in.docx", "out.docx", "TEST")

Где:

  • in.docx — исходный документ
  • out.docx — выходящий документ
  • TEST — текст, который добавляется в нижний колонтитул

Выводы

Используя только XSLT и ZIP можно успешно работать с документами docx, таблицами xlsx и презентациями pptx.

Открытые вопросы

  1. Изначально хотел использовать 7z вместо zip/unzip т… к. это одна утилита и она более распространена на Windows. Однако я столкнулся с такой проблемой, что документы запакованные 7z под Linux не открываются в Microsoft Office. Я попробовал достаточно много вариантов вызова, однако положительного результата добиться не удалось.
  2. Ищу XSD со схемами ECMA-376 версии 5 и комментариями. XSD версии 5 без комментариев доступен к загрузке на сайте ECMA, но без комментариев в нём сложно разобраться. XSD версии 2 с комментариями доступен к загрузке.

Ссылки

  • ECMA-376
  • Описание docx
  • Подробная статья про docx
  • Репозиторий со скриптами
  • Репозиторий с преобразователем нижнего колонтитула

Как сделать файл xml из word?

как сделать файл xml из word

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

Немного об XML

Сам по себе XML — это язык разметки, чем-то похожий на HTML, который используется на веб-страницах. Но если последний применяется только для вывода информации и её правильной разметки, то XML позволяет её структурировать определённым образом, что делает этот язык чем-то похожим на аналог базы данных, который не требует наличия СУБД.

Создавать XML-файлы можно как при помощи специализированных программ, так и встроенным в Windows текстовым редактором. От вида используемого ПО зависит удобство написания кода и уровень его функциональности.

Способ 1: Visual Studio

Вместо этого редактора кода от Microsoft можно использовать любой его аналог от других разработчиков. По факту Visual Studio является более расширенной версией обычного «Блокнота». Код теперь имеет специальную подсветку, ошибки выделяются или исправляются автоматически, также в программу уже загружены специальные шаблоны, которые позволяют упростить создание XML-файлов больших объёмов.

Для начала работы вам нужно создать файл. Нажмите по пункту «Файл» в верхней панели и из выпадающего меню выберите «Создать…». Откроется список, где указывается пункт «Файл».

как сделать файл xml из word

Вас перебросит в окно с выбором расширения файла, соответственно выбирайте пункт «XML-файл».

как сделать файл xml из word

В только что созданном файле уже будет первая строка с кодировкой и версией. По умолчанию прописана первая версия и кодировка UTF-8, которые вы можете поменять в любое время. Дальше для создания полноценного XML-файла вам нужно прописать всё то, что было в предыдущей инструкции.

По завершении работы снова выберите в верхней панели «Файл», а там из выпадающего меню пункт «Сохранить всё».

Способ 2: Microsoft Excel

Можно создать XML-файл и не прописывая код, например, при помощи современных версий Microsoft Excel, который позволяет сохранять таблицы с данным расширением. Однако нужно понимать, что в этом случае создать что-то более функциональное обычной таблицы не получится.

Такой способ больше подойдёт тем, кто не хочет или не умеет работать с кодом. Однако в этом случае пользователь может столкнуться с определёнными проблемами при перезаписи файла в XML-формат. К сожалению, проделать операцию преобразования обычной таблицы в XML можно только на самых новых версиях MS Excel. Чтобы это сделать, используйте следующую пошаговую инструкцию:

  1. Заполните таблицу каким-либо контентом.
  2. Нажмите на кнопку «Файл», что в верхнем меню.
  3. Откроется специальное окно, где нужно нажать на «Сохранить как…». Этот пункт можно найти в левом меню.
  4. Укажите папку, куда необходимо сохранить файл. Папка указывается в центральной части экрана.
  5. Теперь вам нужно указать название файла, а в разделе «Тип файла» из выпадающего меню выбрать
    «XML-данные».
  6. Нажмите на кнопку «Сохранить».

Способ 3: Блокнот

Для работы с XML вполне подойдёт даже обычный «Блокнот», однако пользователю, который не знаком с синтаксисом языка, придётся трудно, так как в нём нужно прописывать различные команды и теги. Несколько проще и значительно продуктивнее процесс будет идти в специализированных программах для редактирования кода, например, в Microsoft Visual Studio. В них есть специальная подсветка тегов и всплывающие подсказки, что значительно упрощает работу человеку, плохо знакомому с синтаксисом этого языка.

Для этого способа не потребуется что-либо скачивать, так как в операционную систему уже встроен «Блокнот». Давайте попробуем сделать в нём простую XML-таблицу по данной инструкции:

  1. Создайте обычный текстовый документ с расширением TXT. Разместить его можно где угодно. Откройте его.
  2. Начните прописывать в нём первые команды. Для начала нужно задать всему файлу кодировку и указать версию XML, делается это следующей командой:

Первое значение — это версия, её менять не обязательно, а второе значение — это кодировка. Рекомендуется использовать кодировку UTF-8, так как большинство программ и обработчиков работают с ней корректно. Однако её можно изменить на любую другую, просто прописав нужное название.

  • Создайте первый каталог в вашем файле, прописав тег и закрыв его таким образом .
  • Внутри этого тега теперь можно написать какой-нибудь контент. Создадим тег и присвоим ему любое имя, например, «Иван Иванов». Готовая структура должна быть такой:
  • Внутри тега теперь можно прописать более подробные параметры, в данном случае это информация о неком Иване Иванове. Пропишем ему возраст и должность. Выглядеть это будет так:

  • Если вы следовали инструкции, то у вас должен получиться такой же код, как ниже. По завершении работы в верхнем меню найдите «Файл» и из выпадающего меню выберите «Сохранить как…». При сохранении в поле «Имя файла» после точки должно стоять расширение не TXT, а XML.
  • Примерно так у вас должен выглядеть готовый результат:

    как сделать файл xml из word

    XML-компиляторы должны обработать этот код в виде таблицы с одной колонкой, где указаны данные о неком Иване Иванове.

    В «Блокноте» вполне можно сделать несложные таблицы наподобие этой, но при создании более объёмных массивов данных могут возникнуть сложности, так как в обычном «Блокноте» нет функций исправления ошибок в коде или их подсветки.

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

    Мы рады, что смогли помочь Вам в решении проблемы.

    Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

    Помогла ли вам эта статья?

    Конвертер файлов / Документы / Конвертировать в DOC / XML конвертер / DOC в XML

    Вы можете перевести DOC документ в XML и во множество других форматов с помощью бесплатного онлайн конвертера.

    Как сконвертировать xml в doc?

    Выберите файл с компьютера, Google Диска, Dropbox или перетащите его на страницу

    Выберите xml или любой другой формат, который вам нужен (более 100 поддерживаемых форматов)

    Скачайте ваш xml файл

    Подождите пока ваш файл сконвертируется и вы сразу сможете его скачать xml -файл

    Microsoft Word Document

    DOC – специальное расширение, соответствующее документам, созданным в текстовом редакторе Microsoft World, до версии 2007 года. В этом формате хранятся сведения о форматировании текстового документа – абзацы, списки, отступы, выравнивания и многое другое. Файлы DOC могут включать в себя не только текстовую информацию, но и многочисленные изображения, графики, сценарии, диаграммы. DOC представляет собой расширение в формате двоичного файла, который начинается с информационного блока, выступающего ключевым элементом всей совокупности файлов данных. Такие двоичные файлы включают в себя довольно большой объем информации о форматировании текстового документа. Традиционно расширение получило широкое распространение для создания документов текстового формата в большом диапазоне ОС. Файлы в этом формате открываются любыми, в том числе современными версиями редактора Word или его аналогами из бесплатных пакетов вроде Open Office, Libre Office или утилитами наподобие Corel WordPerfect.

    Первые версии файлового формата DOC приоритетно ориентировались на содержание форматированного текста, но со временем к нему добавилось большое количество встроенных объектов, среди которых встречаются как диаграммы и графики, так и различные медиа-файлы (звуки, видео). Файлы с расширением DOC способны содержать данные о слиянии, благодаря чему шаблон обработки слов может применяться вместе с таблицей либо базой данных.

    Как xml перевести в word

    Содержание статьи

    Как xml перевести в word

    • Как xml перевести в word
    • Как открыть документ формата docx
    • Как создать xml документ

    Перевести xml в doc можно несколькими способами:

    • используя возможности программы word;
    • при помощи специальных онлайн-сервисов.

    Подробнее разберем каждый из способов.

    С помощью программы Word

    Первым делом понадобится запустить Word. Сделать это можно через ярлык на рабочем столе или меню «Пуск». Затем необходимо открыть нужный xml файл. Чтобы сделать это, надо:

    1. Нажать на кнопку «Файл», расположенную в верхней левой части экрана.
    2. В открывшемся меню кликнуть на пункт «Открыть». Справа появится изображение папки с надписью «Обзор». При нажатии на нее откроется корневой каталог, в котором нужно найти xml-файл.

    После этого потребуется снова кликнуть на кнопку «Файл» и щелкнуть мышкой на пункт «Сохранить как». Затем пользователь должен указать место для сохранения и в поле «Тип файла» выбрать «Документ word».

    В указанном месте на компьютере появится файл с расширением doc. Теперь его можно спокойно открывать программой word или другим текстовым редактором.

    При помощи онлайн-сервисов

    Сделать это можно на специальных сайтах — конвертерах. Они предназначены для трансформации файлов из одного формата в другой. Таких сайтов в сети существует огромное множество, вот лишь некоторые из них:

    • onlineconvertfree.com;
    • coolutils.com;
    • online-converting.ru;
    • zamzar.com.

    Рассмотрим процесс конвертации на примере сайте onlineconvertfree.com. Для этого потребуется зайти на ресурс и кликнуть по надписи «Конвертировать в», что находится сверху. Откроется выпадающее меню, в котором необходимо нажать на «Документы конвертер». Пользователь попадет на страницу, где расположена синяя кнопка «Выберите файл»

    Дальнейший порядок действий будет выглядеть следующим образом:

    1. Нажать на кнопку и загрузить xml-файл.
    2. В появившемся окне выбрать пункт «в doc».
    3. Подождать, пока закончится процесс конвертации. Его скорость зависит от размера файла.
    4. Скачать готовый файл на компьютер.

    После выполнения вышеуказанных действий его можно будет открыть в программе word. Конвертация файлов при помощи других сервисов проходит аналогичным образом, могут лишь немного отличаться названия разделов.

    Перевести xml в doc не сложно, главное действовать по инструкции. Преобразовать файл возможно двумя способами. После конвертации его получится открыть и редактировать в word.

    Как перевести документ Word в формат XML?

    Как сделать файл xml из word?

    Как перевести документ Word в формат XML?

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

    Немного об XML

    Сам по себе XML — это язык разметки, чем-то похожий на HTML, который используется на веб-страницах. Но если последний применяется только для вывода информации и её правильной разметки, то XML позволяет её структурировать определённым образом, что делает этот язык чем-то похожим на аналог базы данных, который не требует наличия СУБД.

    Создавать XML-файлы можно как при помощи специализированных программ, так и встроенным в Windows текстовым редактором. От вида используемого ПО зависит удобство написания кода и уровень его функциональности.

    Способ 1: Visual Studio

    Вместо этого редактора кода от Microsoft можно использовать любой его аналог от других разработчиков. По факту Visual Studio является более расширенной версией обычного «Блокнота». Код теперь имеет специальную подсветку, ошибки выделяются или исправляются автоматически, также в программу уже загружены специальные шаблоны, которые позволяют упростить создание XML-файлов больших объёмов.

    Для начала работы вам нужно создать файл. Нажмите по пункту «Файл» в верхней панели и из выпадающего меню выберите «Создать…». Откроется список, где указывается пункт «Файл».

    Вас перебросит в окно с выбором расширения файла, соответственно выбирайте пункт «XML-файл».

    В только что созданном файле уже будет первая строка с кодировкой и версией. По умолчанию прописана первая версия и кодировка UTF-8, которые вы можете поменять в любое время. Дальше для создания полноценного XML-файла вам нужно прописать всё то, что было в предыдущей инструкции.

    По завершении работы снова выберите в верхней панели «Файл», а там из выпадающего меню пункт «Сохранить всё».

    Способ 2: Microsoft Excel

    Можно создать XML-файл и не прописывая код, например, при помощи современных версий Microsoft Excel, который позволяет сохранять таблицы с данным расширением. Однако нужно понимать, что в этом случае создать что-то более функциональное обычной таблицы не получится.

    Такой способ больше подойдёт тем, кто не хочет или не умеет работать с кодом. Однако в этом случае пользователь может столкнуться с определёнными проблемами при перезаписи файла в XML-формат. К сожалению, проделать операцию преобразования обычной таблицы в XML можно только на самых новых версиях MS Excel. Чтобы это сделать, используйте следующую пошаговую инструкцию:

    1. Заполните таблицу каким-либо контентом.
    2. Нажмите на кнопку «Файл», что в верхнем меню.
    3. Откроется специальное окно, где нужно нажать на «Сохранить как…». Этот пункт можно найти в левом меню.
    4. Укажите папку, куда необходимо сохранить файл. Папка указывается в центральной части экрана.
    5. Теперь вам нужно указать название файла, а в разделе «Тип файла» из выпадающего меню выбрать
      «XML-данные».
    6. Нажмите на кнопку «Сохранить».

    Способ 3: Блокнот

    Для работы с XML вполне подойдёт даже обычный «Блокнот», однако пользователю, который не знаком с синтаксисом языка, придётся трудно, так как в нём нужно прописывать различные команды и теги. Несколько проще и значительно продуктивнее процесс будет идти в специализированных программах для редактирования кода, например, в Microsoft Visual Studio. В них есть специальная подсветка тегов и всплывающие подсказки, что значительно упрощает работу человеку, плохо знакомому с синтаксисом этого языка.

    Для этого способа не потребуется что-либо скачивать, так как в операционную систему уже встроен «Блокнот». Давайте попробуем сделать в нём простую XML-таблицу по данной инструкции:

    1. Создайте обычный текстовый документ с расширением TXT. Разместить его можно где угодно. Откройте его.
    2. Начните прописывать в нём первые команды. Для начала нужно задать всему файлу кодировку и указать версию XML, делается это следующей командой:

    Первое значение — это версия, её менять не обязательно, а второе значение — это кодировка. Рекомендуется использовать кодировку UTF-8, так как большинство программ и обработчиков работают с ней корректно. Однако её можно изменить на любую другую, просто прописав нужное название.

  • Создайте первый каталог в вашем файле, прописав тег и закрыв его таким образом .
  • Внутри этого тега теперь можно написать какой-нибудь контент. Создадим тег и присвоим ему любое имя, например, «Иван Иванов». Готовая структура должна быть такой:
  • Внутри тега теперь можно прописать более подробные параметры, в данном случае это информация о неком Иване Иванове. Пропишем ему возраст и должность. Выглядеть это будет так:
  • Если вы следовали инструкции, то у вас должен получиться такой же код, как ниже. По завершении работы в верхнем меню найдите «Файл» и из выпадающего меню выберите «Сохранить как…». При сохранении в поле «Имя файла» после точки должно стоять расширение не TXT, а XML.
  • Примерно так у вас должен выглядеть готовый результат:

    XML-компиляторы должны обработать этот код в виде таблицы с одной колонкой, где указаны данные о неком Иване Иванове.

    В «Блокноте» вполне можно сделать несложные таблицы наподобие этой, но при создании более объёмных массивов данных могут возникнуть сложности, так как в обычном «Блокноте» нет функций исправления ошибок в коде или их подсветки.

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

    Мы рады, что смогли помочь Вам в решении проблемы.

    Как сделать файл xml из word? — Информатизация

    Как перевести документ Word в формат XML?

    Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

    Зачем?

    docx — самый популярный формат документов, поэтому задача отдавать информацию пользователю в этом формате всегда может возникнуть. Один из вариантов решения этой проблемы — использование готовой библиотеки, может не подходить по ряду причин:

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

    Поэтому в этой статье будем использовать только самые базовые инструменты для работы с docx документом.

    Структура docx

    Для начала разоберёмся с тем, что собой представляет docx документ. docx это zip архив который физически содержит 2 типа файлов:

    • xml файлы с расширениями xml и rels
    • медиа файлы (изображения и т.п.)

    А логически — 3 вида элементов:

    • Типы (Content Types) — список типов медиа файлов (например png) встречающихся в документе и типов частей документов (например документ, верхний колонтитул).
    • Части (Parts) — отдельные части документа, для нашего документа это document.xml, сюда входят как xml документы так и медиа файлы.
    • Связи (Relationships) идентифицируют части документа для ссылок (например связь между разделом документа и колонтитулом), а также тут определены внешние части (например гиперссылки).

    Они подробно описаны в стандарте ECMA-376: Office Open XML File Formats, основная часть которого — PDF документ на 5000 страниц, и ещё 2000 страниц бонусного контента.

    Минимальный docx

    Простейший docx после распаковки выглядит следующим образом

    Давайте посмотрим из чего он состоит.

    [Content_Types].xml

    Находится в корне документа и перечисляет MIME типы содержимого документа:

    _rels/.rels

    Главный список связей документа. В данном случае определена всего одна связь — сопоставление с идентификатором rId1 и файлом word/document.xml — основным телом документа.

    word/document.xml

    Основное содержимое документа.

    word/document.xml

    • — сам документ
    • — тело документа
    • — параграф
    • — run (фрагмент) текста
    • — сам текст
    • — описание страницы

    Если открыть этот документ в текстовом редакторе, то увидим документ из одного слова Test.

    word/_rels/document.xml.rels

    Здесь содержится список связей части word/document.xml. Название файла связей создаётся из названия части документа к которой он относится и добавления к нему расширения rels. Папка с файлом связей называется _rels и находится на том же уровне, что и часть к которой он относится. Так как связей в word/document.xml никаких нет то и в файле пусто:

    Даже если связей нет, этот файл должен существовать.

    docx и Microsoft Word

    docx созданный с помощью Microsoft Word, да в принципе и с помощью любого другого редактора имеет несколько дополнительных файлов.

    Вот что в них содержится:

    • docProps/core.xml — основные метаданные документа согласно Open Packaging Conventions и Dublin Core [1], [2].
    • docProps/app.xml — общая информация о документе: количество страниц, слов, символов, название приложения в котором был создан документ и т.п.
    • word/settings.xml — настройки относящиеся к текущему документу.
    • word/styles.xml — стили применимые к документу. Отделяют данные от представления.
    • word/webSettings.xml — настройки отображения HTML частей документа и настройки того, как конвертировать документ в HTML.
    • word/fontTable.xml — список шрифтов используемых в документе.
    • word/theme1.xml — тема (состоит из цветовой схемы, шрифтов и форматирования).

    В сложных документах частей может быть гораздо больше.

    Реверс-инжиниринг docx

    Итак, первоначальная задача — узнать как какой-либо фрагмент документа хранится в xml, чтобы потом создавать (или парсить) подобные документы самостоятельно. Для этого нам понадобятся:

    • Архиватор zip
    • Библиотека для форматирования XML (Word выдаёт XML без отступов, одной строкой)
    • Средство для просмотра diff между файлами, я буду использовать git и TortoiseGit

    Инструменты

    Также понадобятся скрипты для автоматического (раз)архивирования и форматирования XML. Использование под Windows:

    • unpack file dir — распаковывает документ file в папку dir и форматирует xml
    • pack dir file — запаковывает папку dir в документ file

    Использование под Linux аналогично, только ./unpack.sh вместо unpack, а pack становится ./pack.sh.

    Использование

    Поиск изменений происходит следующим образом:

    1. Создаём пустой docx файл в редакторе.
    2. Распаковываем его с помощью unpack в новую папку.
    3. Коммитим новую папку.
    4. Добавляем в файл из п. 1. изучаемый элемент (гиперссылку, таблицу и т.д.).
    5. Распаковываем изменённый файл в уже существующую папку.
    6. Изучаем diff, убирая ненужные изменения (перестановки связей, порядок пространств имён и т.п.).
    7. Запаковываем папку и проверяем что получившийся файл открывается.
    8. Коммитим изменённую папку.

    Пример 1. Выделение текста жирным

    Посмотрим на практике, как найти тег который определяет форматирование текста жирным шрифтом.

    1. Создаём документ bold.docx с обычным (не жирным) текстом Test.
    2. Распаковываем его: unpack bold.docx bold.
    3. Коммитим результат.
    4. Выделяем текст Test жирным.
    5. Распаковываем unpack bold.docx bold.
    6. Изначально diff выглядел следующим образом:

    docProps/app.xml

    Изменение времени нам не нужно.

    docProps/core.xml

    @@ -4,9 +4,9 @@— 1+ 2 2017-02-07T19:37:00Z— 2017-02-07T19:37:00Z

    Изменение версии документа и даты модификации нас также не интересует.

    word/settings.xml

    Также не содержит ничего относящегося к жирному тексту. Отменяем.

    7 Запаковываем папку с 1м изменением (добавлением ) и проверяем что документ открывается и показывает то, что ожидалось. 8 Коммитим изменение.

    Пример 2. Нижний колонтитул

    Теперь разберём пример посложнее — добавление нижнего колонтитула. Вот первоначальный коммит. Добавляем нижний колонтитул с текстом 123 и распаковываем документ. Такой diff получается первоначально:

    Сразу же исключаем изменения в docProps/app.xml и docProps/core.xml — там тоже самое, что и в первом примере.

    word/styles.xml

    diff@@ -480,6 +480,50 @@

    Изменения в стилях нас интересуют только если мы ищем как поменять стиль. В данном случае это изменение можно убрать.

    Посмотрим теперь собственно на сам нижний колонтитул (часть пространств имён опущена для читабельности, но в документе они должны быть):

    Тут виден текст 123. Единственное, что надо исправить — убрать ссылку на .

    В результате анализа всех изменений делаем следующие предположения:

    • footnotes и endnotes не нужны
    • В [Content_Types].xml надо добавить footer
    • В word/_rels/document.xml.rels надо добавить ссылку на footer
    • В word/document.xml в тег надо добавить

    Уменьшаем diff до этого набора изменений:

    Затем запаковываем документ и открываем его. Если всё сделано правильно, то документ откроется и в нём будет нижний колонтитул с текстом 123. А вот и итоговый коммит.

    Таким образом процесс поиска изменений сводится к поиску минимального набора изменений, достаточного для достижения заданного результата.

    Практика

    Найдя интересующее нас изменение, логично перейти к следующему этапу, это может быть что-либо из:

    • Создания docx
    • Парсинг docx
    • Преобразования docx

    Тут нам потребуются знания XSLT и XPath.

    Давайте напишем достаточно простое преобразование — замену или добавление нижнего колонтитула в существующий документ. Писать я буду на языке Caché ObjectScript, но даже если вы его не знаете — не беда. В основном будем вызовать XSLT и архиватор. Ничего более. Итак, приступим.

    Алгоритм

    Алгоритм выглядит следующим образом:

    1. Распаковываем документ.
    2. Добавляем наш нижний колонтитул.
    3. Прописываем ссылку на него в [Content_Types].xml и word/_rels/document.xml.rels.
    4. В word/document.xml в тег добавляем тег или заменяем в нём ссылку на наш нижний колонтитул.
    5. Запаковываем документ.

    Распаковка

    В Caché ObjectScript есть возможность выполнять команды ОС с помощью функции $zf(-1, oscommand). Вызовем unzip для распаковки документа с помощью обёртки над $zf(-1):

    /// Используя %3 (unzip) распаковать файл %1 в папку %2
    Parameter UNZIP = «%3 %1 -d %2»;

    Создаём файл нижнего колонтитула

    На вход поступает текст нижнего колонтитула, запишем его в файл in.xml:

    В XSLT (файл — footer.xsl) будем создавать нижний колонтитул с текстом из тега xml (часть пространств имён опущена, вот полный список):

    Теперь вызовем XSLT преобразователь:

    do ##class(%XML.XSLT.Transformer).TransformFile(«in.xml», «footer.xsl», footer0.xml»)

    В результате получится файл нижнего колонтитула footer0.xml:

    Добавляем ссылку на колонтитул в список связей основного документа

    Сссылки с идентификатором rId0 как правило не существует. Впрочем можно использовать XPath для получения идентификатора которого точно не существует. Добавляем ссылку на footer0.xml c идентификатором rId0 в word/_rels/document.xml.rels:

    Прописываем ссылки в документе

    Далее надо в каждый тег добавить тег или заменить в нём ссылку на наш нижний колонтитул. Оказалось, что у каждого тега может быть 3 тега — для первой страницы, четных страниц и всего остального:

    Добавляем колонтитул в [Content_Types].xml

    Добавляем в [Content_Types].xml информацию о том, что /word/footer0.xml имеет тип application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml:

    В результате

    Весь код опубликован. Работает он так:

    do ##class(Converter.Footer).modifyFooter(«in.docx», «out.docx», «TEST»)

    • in.docx — исходный документ
    • out.docx — выходящий документ
    • TEST — текст, который добавляется в нижний колонтитул

    Есть документ Word, как сохранить его с другими параметрами?

    Как перевести документ Word в формат XML?

    Есть документ Word, как сохранить его с другими параметрами?

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

    Кто помнит, первоначальный формат сохранения документов был с расширением .doc. Для нынешнего поколения пользователей известно, в большинстве своем, расширение .docx для файлов Word.

    Давайте поговорим на профессиональном языке о новом формате сохранения текстовых документов ворд, и затем узнаем, как можно сохранить документ, который уже был ранее создан и сохранён, но уже с другими параметрами. Ведь их несколько у программы ворд.

    О новом формате сохранения документов в ms word

    Новый формат Word– Microsoft Office Open XML При сохранении документа по умолчанию задается новый тип файла – .docx, основанный на поддержке языка XML. Хотя такой формат и не является новинкой в полном смысле этого слова – еще в 1999 году появились первые способы данной поддержки в «Office» 2000, – он стал следующим шагом в сохранении документов.

    Тотальное внедрение этого формата, прежде всего, связано с переводом Microsoft Office на открытые стандарты, обеспечивающие более оперативное создание и взаимодействие документов, ускоренный обмен данными с другими корпоративными бизнес-приложениями.

    Другие публикации каналаСохраняем правильно документ Word: а как это делаете вы?Видите ли вы, что делаете в программе Word?Подложка, фон и текстовое поле: много ли знаете об этом?Пять фишек, которые помогут улучшить работу в WordЧем панель инструментов Word отличается от панели быстрого доступа

    Форматом сохранения документов по умолчанию стал ZIP-контейнер, доступный на бесплатной основе и соответствующий спецификации Open Packaging Conventions. Он пришел на смену бинарному формату хранения документов, использовавшемуся в предыдущих версиях «MS Office».

    Данный XML-формат представляет собой обычный ZIP-архив, который выполняет роль контейнера и называется package. Уже в нем размещаются различные компоненты документа, называемые частями (part) и элементами (item).

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

    Графические изображения форматов PNG, JPG, TIFF хранятся в оригинальном виде, что, впрочем, делает доступ к ним более удобным. Помимо этого, в бинарном виде сохраняются и внедренные в документы OLE-объекты.

    Таким образом, благодаря автоматическому сжатию документа размер его может быть на 70–80% меньше исходного. Помимо этого, облегчен процесс восстановления данных в случае сбоя за счет модульной схемы хранения данных.

    Так как OLE_объекты и макросы (код VBA) хранятся в отдельной секции, документы в целом становятся менее уязвимыми для вирусов и зловредных макрокоманд.

    Какие форматы сохранения документов Word существуют?

    Все новые расширения файлов в Word базируются на именах предыдущих, с учетом – с макросами или без:

    – .docx– документ Office Word XML (формат Word по умолчанию, без хранения макрокода VBA), формат Word 2019, Word 2016, Word 2013, Word 2010 и Office Word 2007;

    .docm – документ Office Word XML с макросами (формат Word с возможностью хранения макрокода VBA), для Word 2019, Word 2016, Word 2013, Word 2010 и Office Word 2007;

    .dotx – шаблон Office Word XML (формат шаблона Word по умолчанию), для создания новых шаблонов Word 2019, Word 2016, Word 2013, Word 2010 и Office Word 2007, не содержащих макросы.

    .dotm – шаблон Office Word XML с макросами (формат шаблона Word возможностью хранения макрокода VBA), для создания новых шаблонов Word 2019, Word 2016, Word 2013, Word 2010 и Office Word 2007, содержащих макросы. Этот формат файлов следует использовать пользователям, которые хотят включить настройки пользовательского интерфейса или макросы в шаблон;

    Таким образом, если необходимо открыть XML-файл с разрешением .docx, его можно будет просмотреть обычным архиватором WinRar или WinZip.

    Документ Word 97–2003 – как уже говорилось, привычный формат сохранения данных в начале двухтысячных. Документ, созданный в последних версиях Word со всеми новыми возможностями программы, при сохранении в данном формате теряет некоторые свои характеристики.

    В каких еще форматах можно сохранять документы в word?

    Поскольку нет предела совершенству, разработчики предлагают в программе Word сохранять в самых разных форматах (см. таблицу)

    Форматы сохранения файлов в программе Word

    А теперь давайте представим, что у вас есть документ, который называется Документ Васи.doc или Это документ Маруси.txt

    Как видите есть отличия в формате сохранения документов от тех, которые предлагает последняя версия программы MS Word, например, это было бы Документ Васи.docx или Это документ Маруси.dotx не так ли? Так давайте рассмотрим, как же изменить эти и другие параметры?

    Как сохранить ранее сохраненный документ, но с другими параметрами?

    Чтобы сохранить созданный ранее документ, но теперь уже под другим Именем или по другому Адресу (в другой папке) или с другим Типом расширения (форматом), воспользуйтесь одним из способов, представленных ниже:

    1 способ: при открытом окне документа нажимаем на клавиатуре клавишу F12.

    В появившемся окне выбираем Папку, даём Имя файлу, раскрываем меню с Типом файла и далее нажимаем ОК (см. Рис.)

    Сохранение документа с другим параметром формата

    1. В верхнем левом углу окна программы щелкаем по кнопке «Файл».

    2. В меню типичных команд выбираем пункт «Сохранить как».

    3. Сколько бы раз до этого документ ни был сохранен, по этой команде вновь откроется окно сохранения документа (см. выше Рис.), в котором можно снова выбрать все параметры сохранения.

    Сохраняем правильно документ Word: а как это делаете вы>>

    4. Задаем новое имя или выбираем новое место для сохранения документа, или же и то, и другое, и далее следуем всем инструкциям для обычного сохранения.

    5. Завершаем сохранение щелчком по кнопке «Сохранить» или нажатием клавиши Enter.

    Важно! С этого момента работа будет продолжаться только с документом, сохраненным с новыми параметрами, а документ, первоначально открытый для использования, будет автоматически закрыт без изменения.

    В статье мы рассмотрели форматы (расширения) сохранения документов в программе Word.

    Ставьте лайк и в последующих уроках и статьях я вам расскажу, как создавать стили, быстро редактировать документы, создавать оглавление и многое другое. Подписывайтесь на канал «Изучаем Word: шаг за шагом», чтобы статьи появлялись в вашей ленте. А также давайте добавим статью в #база знаний с помощью хештега. До встречи!

    Перевод ворд в xml

    Как перевести документ Word в формат XML?

    Перевести xml в doc можно несколькими способами:

    • используя возможности программы word;
    • при помощи специальных онлайн-сервисов.

    Подробнее разберем каждый из способов.

    С помощью программы word

    Первым делом понадобится запустить Word. Сделать это можно через ярлык на рабочем столе или меню «Пуск». Затем необходимо открыть нужный xml файл. Чтобы сделать это, надо:

    1. Нажать на кнопку «Файл», расположенную в верхней левой части экрана.
    2. В открывшемся меню кликнуть на пункт «Открыть». Справа появится изображение папки с надписью «Обзор». При нажатии на нее откроется корневой каталог, в котором нужно найти xml-файл.

    После этого потребуется снова кликнуть на кнопку «Файл» и щелкнуть мышкой на пункт «Сохранить как». Затем пользователь должен указать место для сохранения и в поле «Тип файла» выбрать «Документ word».

    В указанном месте на компьютере появится файл с расширением doc. Теперь его можно спокойно открывать программой word или другим текстовым редактором.

    При помощи онлайн-сервисов

    Сделать это можно на специальных сайтах — конвертерах. Они предназначены для трансформации файлов из одного формата в другой. Таких сайтов в сети существует огромное множество, вот лишь некоторые из них:

    • onlineconvertfree.com;
    • coolutils.com;
    • online-converting.ru;
    • zamzar.com.

    Рассмотрим процесс конвертации на примере сайте onlineconvertfree.com. Для этого потребуется зайти на ресурс и кликнуть по надписи «Конвертировать в», что находится сверху. Откроется выпадающее меню, в котором необходимо нажать на «Документы конвертер». Пользователь попадет на страницу, где расположена синяя кнопка «Выберите файл»

    Дальнейший порядок действий будет выглядеть следующим образом:

    1. Нажать на кнопку и загрузить xml-файл.
    2. В появившемся окне выбрать пункт «в doc».
    3. Подождать, пока закончится процесс конвертации. Его скорость зависит от размера файла.
    4. Скачать готовый файл на компьютер.

    После выполнения вышеуказанных действий его можно будет открыть в программе word. Конвертация файлов при помощи других сервисов проходит аналогичным образом, могут лишь немного отличаться названия разделов.

    Перевести xml в doc не сложно, главное действовать по инструкции. Преобразовать файл возможно двумя способами. После конвертации его получится открыть и редактировать в word.

    Как сделать файл xml из word?

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

    Содержание

    • 1 Немного об XML
      • 1.1 Способ 1: Visual Studio
      • 1.2 Способ 2: Microsoft Excel
      • 1.3 Способ 3: Блокнот
      • 1.4 Помогла ли вам эта статья?

    Конвертер файлов / Документы / Конвертировать в DOC / XML конвертер / DOC в XML

    Вы можете перевести DOC документ в XML и во множество других форматов с помощью бесплатного онлайн конвертера.

    Как сконвертировать xml в doc?

    Шаг 1

    Загрузите doc-файл

    Выберите файл с компьютера, Google Диска, Dropbox или перетащите его на страницу

    Шаг 2

    Выберите «в xml»

    Выберите xml или любой другой формат, который вам нужен (более 100 поддерживаемых форматов)

    Шаг 3

    Скачайте ваш xml файл

    Подождите пока ваш файл сконвертируется и вы сразу сможете его скачать xml -файл

    Microsoft Word Document

    Описание

    DOC – специальное расширение, соответствующее документам, созданным в текстовом редакторе Microsoft World, до версии 2007 года. В этом формате хранятся сведения о форматировании текстового документа – абзацы, списки, отступы, выравнивания и многое другое. Файлы DOC могут включать в себя не только текстовую информацию, но и многочисленные изображения, графики, сценарии, диаграммы. DOC представляет собой расширение в формате двоичного файла, который начинается с информационного блока, выступающего ключевым элементом всей совокупности файлов данных. Такие двоичные файлы включают в себя довольно большой объем информации о форматировании текстового документа. Традиционно расширение получило широкое распространение для создания документов текстового формата в большом диапазоне ОС. Файлы в этом формате открываются любыми, в том числе современными версиями редактора Word или его аналогами из бесплатных пакетов вроде Open Office, Libre Office или утилитами наподобие Corel WordPerfect.

    Технические детали

    Первые версии файлового формата DOC приоритетно ориентировались на содержание форматированного текста, но со временем к нему добавилось большое количество встроенных объектов, среди которых встречаются как диаграммы и графики, так и различные медиа-файлы (звуки, видео). Файлы с расширением DOC способны содержать данные о слиянии, благодаря чему шаблон обработки слов может применяться вместе с таблицей либо базой данных.

    Программы

    Microsoft Word

    OpenOffice.org Writer

    IBM Lotus Symphony

    Apple Pages

    AbiWord

    Основная программа

    Microsoft Word

    MIME type

    application/msword

    application/kswps

    Extensible Markup Language

    Программы

    Microsoft Visual Studio 2013

    JAPISoft EditiX

    Wattle XMLwriter

    MacroMates TextMate

    Разработчик

    World Wide Web Consortium

    MIME type

    application/xml

    application/x-xml

    text/xml

    как сделать xml из word

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

    Сам по себе XML — это язык разметки, чем-то похожий на HTML, который используется на веб-страницах. Но если последний применяется только для вывода информации и её правильной разметки, то XML позволяет её структурировать определённым образом, что делает этот язык чем-то похожим на аналог базы данных, который не требует наличия СУБД.

    Создавать XML-файлы можно как при помощи специализированных программ, так и встроенным в Windows текстовым редактором. От вида используемого ПО зависит удобство написания кода и уровень его функциональности.

    Способ 1: Visual Studio

    Вместо этого редактора кода от Microsoft можно использовать любой его аналог от других разработчиков. По факту Visual Studio является более расширенной версией обычного «Блокнота». Код теперь имеет специальную подсветку, ошибки выделяются или исправляются автоматически, также в программу уже загружены специальные шаблоны, которые позволяют упростить создание XML-файлов больших объёмов.

    Для начала работы вам нужно создать файл. Нажмите по пункту «Файл» в верхней панели и из выпадающего меню выберите «Создать…». Откроется список, где указывается пункт «Файл».

    как сделать xml из word

    Вас перебросит в окно с выбором расширения файла, соответственно выбирайте пункт «XML-файл».

    как сделать xml из word

    В только что созданном файле уже будет первая строка с кодировкой и версией. По умолчанию прописана первая версия и кодировка UTF-8, которые вы можете поменять в любое время. Дальше для создания полноценного XML-файла вам нужно прописать всё то, что было в предыдущей инструкции.

    По завершении работы снова выберите в верхней панели «Файл», а там из выпадающего меню пункт «Сохранить всё».

    Способ 2: Microsoft Excel

    Можно создать XML-файл и не прописывая код, например, при помощи современных версий Microsoft Excel, который позволяет сохранять таблицы с данным расширением. Однако нужно понимать, что в этом случае создать что-то более функциональное обычной таблицы не получится.

    Такой способ больше подойдёт тем, кто не хочет или не умеет работать с кодом. Однако в этом случае пользователь может столкнуться с определёнными проблемами при перезаписи файла в XML-формат. К сожалению, проделать операцию преобразования обычной таблицы в XML можно только на самых новых версиях MS Excel. Чтобы это сделать, используйте следующую пошаговую инструкцию:

    1. Заполните таблицу каким-либо контентом.
    2. Нажмите на кнопку «Файл», что в верхнем меню.
    3. Откроется специальное окно, где нужно нажать на «Сохранить как…». Этот пункт можно найти в левом меню.
    4. Укажите папку, куда необходимо сохранить файл. Папка указывается в центральной части экрана.
    5. Теперь вам нужно указать название файла, а в разделе «Тип файла» из выпадающего меню выбрать
      «XML-данные».
    6. Нажмите на кнопку «Сохранить».

    Способ 3: Блокнот

    Для работы с XML вполне подойдёт даже обычный «Блокнот», однако пользователю, который не знаком с синтаксисом языка, придётся трудно, так как в нём нужно прописывать различные команды и теги. Несколько проще и значительно продуктивнее процесс будет идти в специализированных программах для редактирования кода, например, в Microsoft Visual Studio. В них есть специальная подсветка тегов и всплывающие подсказки, что значительно упрощает работу человеку, плохо знакомому с синтаксисом этого языка.

    Для этого способа не потребуется что-либо скачивать, так как в операционную систему уже встроен «Блокнот». Давайте попробуем сделать в нём простую XML-таблицу по данной инструкции:

    1. Создайте обычный текстовый документ с расширением TXT. Разместить его можно где угодно. Откройте его.
    2. Начните прописывать в нём первые команды. Для начала нужно задать всему файлу кодировку и указать версию XML, делается это следующей командой:

      Первое значение — это версия, её менять не обязательно, а второе значение — это кодировка. Рекомендуется использовать кодировку UTF-8, так как большинство программ и обработчиков работают с ней корректно. Однако её можно изменить на любую другую, просто прописав нужное название.

    3. Создайте первый каталог в вашем файле, прописав тег и закрыв его таким образом .
    4. Внутри этого тега теперь можно написать какой-нибудь контент. Создадим тег и присвоим ему любое имя, например, «Иван Иванов». Готовая структура должна быть такой:
    5. Внутри тега теперь можно прописать более подробные параметры, в данном случае это информация о неком Иване Иванове. Пропишем ему возраст и должность. Выглядеть это будет так:

      25
      True

    6. Если вы следовали инструкции, то у вас должен получиться такой же код, как ниже. По завершении работы в верхнем меню найдите «Файл» и из выпадающего меню выберите «Сохранить как…». При сохранении в поле «Имя файла» после точки должно стоять расширение не TXT, а XML.

    Примерно так у вас должен выглядеть готовый результат:

    25
    True

    как сделать xml из word

    XML-компиляторы должны обработать этот код в виде таблицы с одной колонкой, где указаны данные о неком Иване Иванове.

    В «Блокноте» вполне можно сделать несложные таблицы наподобие этой, но при создании более объёмных массивов данных могут возникнуть сложности, так как в обычном «Блокноте» нет функций исправления ошибок в коде или их подсветки.

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

    Мы рады, что смогли помочь Вам в решении проблемы.

    Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

    Помогла ли вам эта статья?

    Да Нет

    Рассмотрим процедуру преобразования объекта базы данных в формат XML:

    1. В окне базы данных выделите необходимый объект щелчком левой кнопки мыши и выберите команду Файл, Экспорт (File, Export) или щелкните по объекту правой кнопкой и выберите в контекстном меню команду Экспорт (Export).
    2. Появится диалоговое окно Экспорт объекта (Export To). В раскрывающемся списке Типы (Save as type) выделите элемент Документы XML (XML Documents). В поле Имя файла (File name) введите название документа HTML и нажмите кнопку Экспорт (Export).
    3. Появится диалоговое окно Экспорт XML (Export XML) (рис. 12.9).
    4. Это диалоговое окно содержит три флажка для трех составляющих документа XML: данных, схемы данных и представления данных (о них см. разд. «Формат XML в Microsoft Office 2002» данной главы). Установите флажки для тех частей документа XML, которые необходимо получить в результате экспорта. Например, если установить одновременно флажки данные (XML) (Data (XML)) и схема данных (Schema of the data), то схема данных будет экспортирована и сохранена отдельно от файла данных XML, в файле XSD. Для таблиц можно экспортировать только данные или их структуру или данные и структуру вместе и не экспортировать представление таблицы в виде Web-страницы: флажок презентация данных (XSL) (Presentation of your data (XSL)) можно снять.

    Рис. 12.9. Диалоговое окно Экспорт XML

    Замечание

    Флажок данные (XML) следует сбросить лишь в том случае, если вы хотите экспортировать только новое представление объекта базы данных, а данные были экспортированы в файл XML раньше. Иначе при открытии полученной Web-страницы будет выдано сообщение об ошибке подключения к источнику данных, а сама страница окажется практически пустой.

    1. Чтобы установить дополнительные параметры преобразования, нажмите кнопку Дополнительно (Advanced) (рис. 12.10).

    Рис. 12.10. Вкладка Данные диалогового окна Экспорт XML

    1. Кроме того, это диалоговое окно содержит еще две вкладки для двух оставшихся составляющих документа XML: схемы данных и представления данных. На каждой из этих вкладок можно установить флажок, позволяющий экспортировать соответствующую часть документа XML, указать путь и имя файла, в котором будет сохранена эта часть документа, и задать некоторые дополнительные параметры:
      • на вкладке Данные (Data) с помощью раскрывающегося списка Кодировка (Encoding) можно выбрать кодировку для сохранения содержимого страницы;
      • на вкладке Схема (Schema) с помощью переключателей можно выбрать, экспортировать ли структуру данных в отдельный файл XSD или внедрить ее в файл XML вместе с данными;

    Рис. 12.11. Отчет «Счет», открытый в базе данных

    • на вкладке Презентация (Presentation) с помощью переключателей можно выбрать формат представления Web-страницы: обрабатываемый на стороне клиента HTML или на стороне сервера ASP. Если экспортируемый объект содержит рисунки, которые необходимо включить в результирующий документ, можно указать имя папки, в которой они расположены. На этой же вкладке есть поле для ввода имени файла XSL с описанием оформления страницы. Если указанный файл не существует, Access 2002 создаст файл в формате XSL описанием внешнего представления документа (разработчик может использовать его в дальнейшем как основу для разработки файла в формате XSLT для преобразования документа XML в другой формат).

    Если потребуется дополнительная информация о представлении данных в формате XML, нажмите кнопку Справка (Help). Информацию о разработке и преобразовании документов XML можно найти на Web-узле Microsoft для разработчиков: .

    Рис. 12.12. Отчет «Счет», данные которого преобразованы в формат XML, открытый в Internet Explorer

    1. Нажмите кнопку ОК.
    2. Если предложенные параметры преобразования не были изменены, в результате будут созданы три файла: XML — с данными, XSL — со стилями и НТМ — с представлением преобразованного объекта. Чтобы открыть полученную Web-страницу, требуется открыть в Internet Explorer файл НТМ или ASP, в зависимости от того, какой формат представления был выбран..

    К сожалению, подчиненные формы и отчеты, а также связанные рисунки не будут добавлены в документ XML, полученный из объекта базы данных. Однако простые объекты с внедренными рисунками, экспортированные в формат XML, будут выглядеть практически точно так же, как исходные в Access. Вы можете в этом убедиться, сравнив, к примеру, исходный и преобразованный в формат XML отчет «Счет» (Invoice) из базы данных «Борей» (Northwind) (рис. 12.11 и 12.12).

    Если данных в источнике данных выбранного объекта много, загрузка Web-страницы в программу просмотра Интренета может занять существенное время.

    Замечание

    Поскольку сами данные, содержащиеся в таком документе Web, полностью хранятся ‘в файле XML, нет нужды в доступе к базе данных, из которой изначально были взяты эти данные (как, например, и в случае преобразования отчета в формат XML). Это означает, что для обеспечения доступа к такому документу достаточно поместить только упомянутый набор файлов, содержащих описание этого документа, на сервер Web. С другой стороны, это означает, что изменение данных в таком документе возможно лишь с помощью приложений, имеющих доступ к файлу XML и способных воспринять этот формат.

    This post describes how you can create a Microsoft Office Word (2007/2010/2013) document by merging a Word template and a custom xml document.

    Note: This post uses Microsoft Office Word 2013, but the same applies to Microsoft Office Word 2007 and 2010.

    Open Microsoft Office Word 2013 open the developer tab on the ribbon

    clip_image001

    If the developer tab is not visible, go to File > Options

    clip_image002

    Go to Customize Ribbon > Enable «Developer» tab

    clip_image003

    First insert some text, a table and an image to give the template some body.

    Now insert a Plain Text Content Control

    clip_image004

    Click on Properties and enter as:

    Title: «CustomerName»

    Tag: «CustomerName»

    clip_image005

    Save the document to «C:TempCustomerInfo.docx» and close Microsoft Office Word

    clip_image006

    Rename the file to «C:TempCustomerInfo.zip»

    clip_image007

    Extract the file to «C:TempCustomerInfo»

    clip_image008

    Add the folder «C:TempCustomerInfocustomXml»

    clip_image009

    Create the files item1.xml and itemProps1.xml and the folder _rels in the folder «C:TempCustomerInfocustomXml»

    clip_image010

    item1.xml

    <root>

    <customer>

    <name>Customer 1</name>

    </customer>

    </root>

    itemProps1.xml

    <?xml version=»1.0″ encoding=»UTF-8″ standalone=»no»?>

    <ds:datastoreItem ds:itemID=»{8f93798d-1506-45f2-811e-70f72165a32d}» xmlns:ds=»http://schemas.openxmlformats.org/officeDocument/2006/customXml» />

    The itemID is just a GUID.

    You can create a new GUID with Microsoft Visual Studio:

    clip_image011

    clip_image012

    Create a file item1.xml.rels in the folder «C:TempCustomerInfocustomXml_rels»

    <?xml version=»1.0″ encoding=»utf-8″?>

    <Relationships xmlns=»http://schemas.openxmlformats.org/package/2006/relationships»>

    <Relationship Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps» Target=»/customXml/itemProps1.xml» Id=»Rb8d5386a2f8640f88dad1eff30868bcf» />

    </Relationships>

    The Id is just a GUID without «-«.

    Edit the file «C:TempCustomerInfoword_relsdocument.xml.rels»

    <?xml version=»1.0″ encoding=»UTF-8″ standalone=»yes»?>

    <Relationships xmlns=»http://schemas.openxmlformats.org/package/2006/relationships»>

    <Relationship Id=»rId3″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings» Target=»webSettings.xml»/>

    <Relationship Id=»rId7″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme» Target=»theme/theme1.xml»/>

    <Relationship Id=»rId2″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings» Target=»settings.xml»/>

    <Relationship Id=»rId1″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles» Target=»styles.xml»/>

    <Relationship Id=»rId6″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument» Target=»glossary/document.xml»/>

    <Relationship Id=»rId5″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable» Target=»fontTable.xml»/><Relationship Id=»rId4″ Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/image» Target=»media/image1.jpeg»/>

    <Relationship Type=»http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml» Target=»../customXml/item1.xml» Id=»Rdfc14bfb0c244ab3″ />

    </Relationships>

    The ID is a GUID without «-«.

    Edit the file «C:TempCustomerInfoworddocument.xml»

    Search for «CustomerName» in the file.

    clip_image013

    Add <w:dataBinding w:xpath=»/root/customer[1]/name[1]» w:storeItemID=»{8f93798d-1506-45f2-811e-70f72165a32d}» />

    just after the <w:sdtPr> containing the CustomerName content control.

    clip_image014

    Edit the file «C:TempCustomerInfo[Content_Types].xml»

    clip_image015

    Now when you zip the contents of the folder «C:TempCustomerInfo» and rename the zip to CustomerInfo2.docx, the CustomerName content control should be automatically filled with the text «Customer 1» from the item1.xml file.

    When zipping make sure, you zip the contents of the folder en not the folder itself:

    clip_image016

    These manual steps can be automated by using the tool: http://dbe.codeplex.com/ (Word Content Control Toolkit)

    This tool was created for Office 2007, but can be used for Office 2010 and Office 2013.

    Tags: Word

    Понравилась статья? Поделить с друзьями:
  • Word written with numbers
  • Word written on tomb
  • Word writing in red underline
  • Word writing in capitals
  • Word writing in all caps