Диапазон тегов структурированного документа. Начало сопоставления XML.

Введение

Вы когда-нибудь хотели динамически вставлять XML-данные в документ Word? Что ж, вам повезло! Aspose.Words для .NET упрощает эту задачу. В этом руководстве мы подробно рассмотрим структурированное отображение диапазона тегов документа XML. Эта функция позволяет привязывать пользовательские XML-части к элементам управления содержимым, обеспечивая бесшовное обновление содержимого документа с помощью XML-данных. Готовы преобразовать ваши документы в динамические шедевры.

Предпосылки

Прежде чем приступить к написанию кода, давайте убедимся, что у вас есть все необходимое:

  1. Библиотека Aspose.Words for .NET: Убедитесь, что у вас последняя версия. Вы можете загрузить еездесь.
  2. Среда разработки: Visual Studio или любая другая IDE, поддерживающая C#.
  3. Базовые знания C#: Знакомство с программированием на C# обязательно.
  4. Документ Word: пример документа Word для работы.

Импорт пространств имен

Для начала давайте импортируем необходимые пространства имен. Это обеспечит нам доступ ко всем требуемым классам и методам в Aspose.Words for .NET.

using System;
using Aspose.Words;
using Aspose.Words.Markup;
using System.Text;

Шаг 1: Настройте каталог документов

Каждому проекту нужна основа, не так ли? Здесь мы настраиваем путь к вашему каталогу документов.

// Путь к каталогу ваших документов
string dataDir = "YOUR DOCUMENT DIRECTORY";

Шаг 2: Загрузите документ Word

Далее загружаем документ Word. Это документ, в который мы будем вставлять наши XML-данные.

Document doc = new Document(dataDir + "Multi-section structured document tags.docx");

Шаг 3: Добавьте пользовательскую часть XML

Нам нужно создать часть XML, содержащую данные, которые мы хотим вставить, и добавить ее в коллекцию CustomXmlPart документа. Эта пользовательская часть XML будет служить источником данных для наших структурированных тегов документа.

Создание XML-части

Сначала сгенерируйте уникальный идентификатор для XML-части и определите ее содержимое.

// Создайте XML-часть, содержащую данные, и добавьте ее в коллекцию CustomXmlPart документа.
string xmlPartId = Guid.NewGuid().ToString("B");
string xmlPartContent = "<root><text>Text element #1</text><text>Text element #2</text></root>";
CustomXmlPart xmlPart = doc.CustomXmlParts.Add(xmlPartId, xmlPartContent);

Проверьте содержимое XML-части

Чтобы убедиться, что XML-часть добавлена правильно, мы печатаем ее содержимое.

Console.WriteLine(Encoding.UTF8.GetString(xmlPart.Data));

Шаг 4: Создайте структурированный тег документа

Структурированный тег документа (SDT) — это элемент управления содержимым, который может быть связан с частью XML. Здесь мы создаем SDT, который будет отображать содержимое нашей пользовательской части XML.

Сначала найдите начало диапазона SDT в документе.

StructuredDocumentTagRangeStart sdtRangeStart = (StructuredDocumentTagRangeStart)doc.GetChild(NodeType.StructuredDocumentTagRangeStart, 0, true);

Шаг 5: Установите XML-сопоставление для SDT

Теперь пришло время связать нашу XML-часть с SDT. Устанавливая XML-отображение, мы указываем, какая часть XML-данных должна отображаться в SDT.

XPath указывает на конкретный элемент в XML-части, который мы хотим отобразить. Здесь мы указываем на второй<text> элемент в пределах<root> элемент.

// Установите сопоставление для нашего StructuredDocumentTag
sdtRangeStart.XmlMapping.SetMapping(xmlPart, "/root[1]/text[2]", null);

Шаг 6: Сохраните документ

Наконец, сохраните документ, чтобы увидеть изменения в действии. SDT в документе Word теперь будет отображать указанное содержимое XML.

doc.Save(dataDir + "WorkingWithSdt.StructuredDocumentTagRangeStartXmlMapping.docx");

Заключение

И вот оно! Вы успешно сопоставили часть XML с тегом структурированного документа в документе Word с помощью Aspose.Words для .NET. Эта мощная функция позволяет вам без усилий создавать динамические и управляемые данными документы. Независимо от того, создаете ли вы отчеты, счета-фактуры или любой другой тип документа, сопоставление XML может значительно оптимизировать ваш рабочий процесс.

Часто задаваемые вопросы

Что такое структурированный тег документа в Word?

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

Как можно динамически обновлять содержимое XML-части?

Вы можете обновить содержимое XML-части, изменивxmlPartContent строку перед добавлением ее в документ. Просто обновите строку новыми данными и добавьте ее вCustomXmlParts коллекция.

Можно ли привязать несколько частей XML к разным SDT в одном документе?

Да, вы можете привязать несколько частей XML к разным SDT в одном документе. Каждая SDT может иметь свою собственную уникальную часть XML и сопоставление XPath.

Возможно ли преобразовать сложные XML-структуры в SDT?

Конечно! Вы можете сопоставить сложные структуры XML с SDT, используя подробные выражения XPath, которые точно указывают на нужные элементы в части XML.

Как удалить часть XML из документа?

Вы можете удалить часть XML, вызвавRemove метод наCustomXmlParts сбор, прохождениеxmlPartId той части XML, которую вы хотите удалить.