Привязка SDT к пользовательской части XML
В этом руководстве показано, как привязать тег структурированного документа (SDT) к пользовательской части XML с помощью Aspose.Words для .NET. SDT позволяют добавлять элементы управления структурированным содержимым в документ Word, а CustomXmlParts предоставляет способ хранения пользовательских XML-данных, связанных с документом.
Предварительные условия
Чтобы следовать этому руководству, вам необходимо иметь следующее:
- Установлена библиотека Aspose.Words для .NET.
- Базовые знания C# и XML.
Шаг 1. Настройте каталог документов
Начните с настройки пути к каталогу ваших документов. Заменять"YOUR DOCUMENT DIRECTORY"
с фактическим путем к каталогу, в котором вы хотите сохранить документ.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Шаг 2. Создайте документ и CustomXmlPart.
Создайте новый экземплярDocument
класс иCustomXmlPart
для хранения пользовательских XML-данных. Пользовательский XML должен быть в допустимом формате XML. В этом примере мы используем простую строку XML<root><text>Hello, World!</text></root>
.
Document doc = new Document();
CustomXmlPart xmlPart = doc.CustomXmlParts.Add(Guid.NewGuid().ToString("B"), "<root><text>Hello, World!</text></root>");
Шаг 3. Добавьте в документ тег StructuredDocumentTag (SDT).
ДобавитьStructuredDocumentTag
в документ, который будет служить элементом управления содержимым. УкажитеSdtType
какPlainText
иMarkupLevel
какBlock
для создания SDT на уровне блока.
StructuredDocumentTag sdt = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Block);
doc.FirstSection.Body.AppendChild(sdt);
Шаг 4. Установите сопоставление XML для SDT.
Сопоставьте SDT сCustomXmlPart
с помощьюSetMapping
методXmlMapping
свойство. УкажитеCustomXmlPart
, выражение XPath для поиска нужного узла XML и префикс пространства имен, если необходимо. В этом примере мы сопоставляем SDT с/root[1]/text[1]
.
sdt.XmlMapping.SetMapping(xmlPart, "/root[1]/text[1]", "");
Шаг 5: Сохраните документ
Сохраните измененный документ в указанную директорию, используя командуSave
метод. Укажите желаемое имя файла с соответствующим расширением. В этом примере мы сохраняем документ как «WorkingWithSdt.BindSDTtoCustomXmlPart.doc».
doc.Save(dataDir + "WorkingWithSdt.BindSDTtoCustomXmlPart.doc");
Пример исходного кода для пользовательской части Xml Bind Sd Tto с использованием Aspose.Words для .NET
// Путь к каталогу ваших документов
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
CustomXmlPart xmlPart =
doc.CustomXmlParts.Add(Guid.NewGuid().ToString("B"), "<root><text>Hello, World!</text></root>");
StructuredDocumentTag sdt = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Block);
doc.FirstSection.Body.AppendChild(sdt);
sdt.XmlMapping.SetMapping(xmlPart, "/root[1]/text[1]", "");
doc.Save(dataDir + "WorkingWithSdt.BindSDTtoCustomXmlPart.doc");
Вот и все! Вы успешно привязали SDT к CustomXmlPart в документе Word с помощью Aspose.Words для .NET.