Привязка 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.