XmlMapping

XmlMapping class

Указывает информацию, которая используется для установления сопоставления между структурированным тегом документа parent и элементом XML, хранящимся в пользовательской части данных XML в документе.

Чтобы узнать больше, посетитеСтруктурированные теги документов или контроль содержимого документальная статья.

public class XmlMapping

Характеристики

ИмяОписание
CustomXmlPart { get; }Возвращает пользовательскую часть данных XML, с которой сопоставляется родительский структурированный тег документа.
IsMapped { get; }Возвратистинный если родительский структурированный тег документа успешно сопоставлен с XML-данными.
PrefixMappings { get; }Возвращает сопоставления префиксов пространства имен XML для оценкиXPath .
StoreItemId { get; }Указывает пользовательский идентификатор данных XML для пользовательской части данных XML, которая будет использоваться для оценкиXPath выражение.
XPath { get; }Возвращает выражение XPath, которое вычисляется для поиска пользовательского XML-узла , сопоставленного с родительским структурированным тегом документа.

Методы

ИмяОписание
Delete()Удаляет сопоставление родительского структурированного документа с данными XML.
SetMapping(CustomXmlPart, string, string)Устанавливает сопоставление между родительским структурированным тегом документа и узлом XML пользовательской части данных XML.

Примеры

Показывает, как устанавливать XML-сопоставления для пользовательских XML-частей.

Document doc = new Document();

// Создаем часть 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);

Assert.AreEqual("<root><text>Text element #1</text><text>Text element #2</text></root>",
    Encoding.UTF8.GetString(xmlPart.Data));

// Создаем структурированный тег документа, который будет отображать содержимое нашего CustomXmlPart.
StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Block);

// Установите сопоставление для нашего структурированного тега документа. Это сопоставление будет указывать
// наш структурированный тег документа для отображения части текстового содержимого XML-части, на которую указывает XPath.
// В этом случае это будет содержимое второго элемента "<text>" первого элемента "<root>": "Текстовый элемент №2".
tag.XmlMapping.SetMapping(xmlPart, "/root[1]/text[2]", "xmlns:ns='http://www.w3.org/2001/XMLSchema'");

Assert.True(tag.XmlMapping.IsMapped);
Assert.AreEqual(xmlPart, tag.XmlMapping.CustomXmlPart);
Assert.AreEqual("/root[1]/text[2]", tag.XmlMapping.XPath);
Assert.AreEqual("xmlns:ns='http://www.w3.org/2001/XMLSchema'", тег.XmlMapping.PrefixMappings);

// Добавляем структурированный тег документа в документ для отображения содержимого из нашей пользовательской части.
doc.FirstSection.Body.AppendChild(tag);
doc.Save(ArtifactsDir + "StructuredDocumentTag.XmlMapping.docx");

Смотрите также