Vincular SDT a una parte XML personalizada

Este tutorial demuestra cómo vincular una etiqueta de documento estructurado (SDT) a una parte XML personalizada usando Aspose.Words para .NET. Los SDT le permiten agregar controles de contenido estructurado a un documento de Word y CustomXmlParts proporciona una manera de almacenar datos XML personalizados asociados con el documento.

Requisitos previos

Para seguir este tutorial, necesita tener lo siguiente:

  • Aspose.Words para la biblioteca .NET instalada.
  • Conocimientos básicos de C# y XML.

Paso 1: configurar el directorio de documentos

Comience configurando la ruta a su directorio de documentos. Reemplazar"YOUR DOCUMENT DIRECTORY" con la ruta real al directorio donde desea guardar el documento.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Paso 2: crear un documento y CustomXmlPart

Crear una nueva instancia delDocument clase y unCustomXmlPart para almacenar los datos XML personalizados. El XML personalizado debe tener un formato XML válido. En este ejemplo, utilizamos una cadena XML simple.<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>");

Paso 3: agregar una etiqueta de documento estructurado (SDT) al documento

Agrega unStructuredDocumentTag al documento para que sirva como control de contenido. Especifica elSdtType comoPlainText y elMarkupLevel comoBlock para crear un SDT a nivel de bloque.

StructuredDocumentTag sdt = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Block);
doc.FirstSection.Body.AppendChild(sdt);

Paso 4: configurar la asignación XML para SDT

Asigne el SDT alCustomXmlPart usando elSetMapping método de laXmlMapping propiedad. Especifica elCustomXmlPart , la expresión XPath para localizar el nodo XML deseado y el prefijo del espacio de nombres si es necesario. En este ejemplo, asignamos el SDT a/root[1]/text[1].

sdt.XmlMapping.SetMapping(xmlPart, "/root[1]/text[1]", "");

Paso 5: guarde el documento

Guarde el documento modificado en el directorio especificado utilizando elSave método. Proporcione el nombre de archivo deseado con la extensión de archivo adecuada. En este ejemplo, guardamos el documento como “WorkingWithSdt.BindSDTtoCustomXmlPart.doc”.

doc.Save(dataDir + "WorkingWithSdt.BindSDTtoCustomXmlPart.doc");

Código fuente de ejemplo para Bind Sd Tto Custom Xml Part usando Aspose.Words para .NET

	// Ruta a su directorio de documentos
	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");

¡Eso es todo! Ha vinculado con éxito un SDT a un CustomXmlPart en su documento de Word usando Aspose.Words para .NET.