Диапазон тегов структурированного документа. Начало сопоставления XML.
Введение
Вы когда-нибудь хотели динамически вставлять XML-данные в документ Word? Что ж, вам повезло! Aspose.Words для .NET упрощает эту задачу. В этом руководстве мы подробно рассмотрим структурированное отображение диапазона тегов документа XML. Эта функция позволяет привязывать пользовательские XML-части к элементам управления содержимым, обеспечивая бесшовное обновление содержимого документа с помощью XML-данных. Готовы преобразовать ваши документы в динамические шедевры.
Предпосылки
Прежде чем приступить к написанию кода, давайте убедимся, что у вас есть все необходимое:
- Библиотека Aspose.Words for .NET: Убедитесь, что у вас последняя версия. Вы можете загрузить еездесь.
- Среда разработки: Visual Studio или любая другая IDE, поддерживающая C#.
- Базовые знания C#: Знакомство с программированием на C# обязательно.
- Документ 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, которую вы хотите удалить.