XMLMapping 接口

定义

表示自定义 XML 与内容控件之间的对象上的 ContentControl XML 映射。 XML 映射是内容控件中的文本与此文档的自定义 XML 数据存储中的 XML 元素之间的链接。

public interface class XMLMapping
[System.Runtime.InteropServices.Guid("0C1FABE7-F737-406F-9CA3-B07661F9D1A2")]
public interface XMLMapping
type XMLMapping = interface
Public Interface XMLMapping
属性

注解

SetMapping(String, String, CustomXMLPart)使用 方法添加或更改使用 XPath 字符串的内容控件的 XML 映射。 以下示例设置文档作者这一内置文档属性,在活动文档中插入新的内容控件,然后将此控件的 XML 映射设置为该内置文档属性。

<span class="label">Dim objcc As ContentControl































































































































Dim objMap As XMLMapping































































































































Dim blnMap As Boolean































































































































































































































































ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"































































































































































































































































Set objcc = ActiveDocument.ContentControls.Add _































































































































    (wdContentControlDate, ActiveDocument.Paragraphs(1).Range)































































































































































































































































Set objMap = objcc.XMLMapping































































































































blnMap = objMap.SetMapping(XPath:="/ns1:coreProperties[1]/ns0:createdate[1]")































































































































































































































































If blnMap = False Then































































































































    MsgBox "Unable to map the content control."































































































































End If</span>

SetMappingByNode(CustomXMLNode)使用 方法使用 CustomXMLNode 对象添加或更改内容控件的 XML 映射。 下面的示例执行与前面的示例相同的操作,但使用 SetMappingByNode 方法。

<span class="label">Dim objcc As ContentControl































































































































Dim objNode As CustomXMLNode































































































































Dim objMap As XMLMapping































































































































Dim blnMap As Boolean































































































































































































































































ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"































































































































































































































































Set objcc = ActiveDocument.ContentControls.Add _































































































































    (wdContentControlDate, ActiveDocument.Paragraphs(1).Range)































































































































































































































































Set objNode = ActiveDocument.CustomXMLParts.SelectByNamespace _































































































































    ("http://schemas.openxmlformats.org/package/2006/metadata/core-properties") _































































































































    (1).DocumentElement.ChildNodes(1)































































































































































































































































Set objMap = objcc.XMLMapping































































































































blnMap = objMap.SetMappingByNode(objNode)</span>

下面的示例创建一个新的 CustomXMLPart 对象、 将自定义 XML 加载到它,然后创建两个新的内容控件,并将每个不同的 XML 元素中的自定义 XML 映射。

<span class="label">Dim objRange As Range































































































































Dim objCustomPart As CustomXMLPart































































































































Dim objCustomControl As ContentControl































































































































Dim objCustomNode As CustomXMLNode































































































































































































































































Set objCustomPart = ActiveDocument.CustomXMLParts.Add































































































































objCustomPart.LoadXML ("&lt;books&gt;&lt;book&gt;&lt;author&gt;Matt Hink&lt;/author&gt;" &amp; _































































































































    "&lt;title&gt;Migration Paths of the Red Breasted Robin&lt;/title&gt;" &amp; _































































































































    "&lt;genre&gt;non-fiction&lt;/genre&gt;&lt;price&gt;29.95&lt;/price&gt;" &amp; _































































































































    "&lt;pub_date&gt;2/1/2007&lt;/pub_date&gt;&lt;abstract&gt;You see them in " &amp; _































































































































    "the spring outside your windows.  You hear their lovely " &amp; _































































































































    "songs wafting in the warm spring air.  Now follow the path " &amp; _































































































































    "of the red breasted robin as it migrates to warmer climes " &amp; _































































































































    "in the fall, and then back to your back yard in the spring." &amp; _































































































































    "&lt;/abstract&gt;&lt;/book&gt;&lt;/books&gt;")































































































































































































































































ActiveDocument.Range.InsertParagraphBefore































































































































Set objRange = ActiveDocument.Paragraphs(1).Range































































































































Set objCustomNode = objCustomPart.SelectSingleNode _































































































































    ("/books/book/title")































































































































Set objCustomControl = ActiveDocument.ContentControls _































































































































    .Add(wdContentControlText, objRange)































































































































objCustomControl.XMLMapping.SetMappingByNode objCustomNode































































































































































































































































objRange.InsertParagraphAfter































































































































Set objRange = ActiveDocument.Paragraphs(2).Range































































































































Set objCustomNode = objCustomPart.SelectSingleNode _































































































































    ("/books/book/abstract")































































































































Set objCustomControl = ActiveDocument.ContentControls _































































































































    .Add(wdContentControlText, objRange)































































































































objCustomControl.XMLMapping.SetMappingByNode objCustomNode































































































































































































































































MsgBox objCustomControl.XMLMapping.IsMapped</span>

Delete()使用 方法删除内容控件的 XML 映射。 删除内容控件的 XML 映射时,只会删除内容控件与 XML 数据之间的连接。 内容控件和 XML 数据都会留在文档中。 以下示例删除活动文档内当前映射的所有内容控件的 XML 映射。

<span class="label">Dim objCC As ContentControl































































































































































































































































For Each objCC In ActiveDocument.ContentControls































































































































    If objCC.XMLMapping.IsMapped Then































































































































        objCC.XMLMapping.Delete































































































































    End If































































































































Next</span>

IsMapped使用 属性确定内容控件是否映射到文档数据存储中的 XML 节点。 以下示例删除活动文档中所有映射的内容控件的 XML 映射。

<span class="label">Dim objCC As ContentControl































































































































































































































































For Each objCC In ActiveDocument.ContentControls































































































































    If objCC.XMLMapping.IsMapped Then































































































































        objCC.XMLMapping.Delete































































































































    End If































































































































Next</span>

CustomXMLNode使用 属性访问内容控件映射到的 XML 节点。 CustomXMLPart使用 属性访问内容控件映射到的 XML 部件。 有关使用 CustomXMLNodeCustomXMLPart 对象的详细信息,请参阅各个对象主题。

属性

Application

返回一个_Application对象,该对象表示 Microsoft Word 应用程序。

Creator

返回一个 32 位整数,它指示在其中创建外接程序的应用程序。 只读 Long

CustomXMLNode

返回一个 CustomXMLNode 对象,该对象表示文档中的内容控件映射到数据存储区中的自定义 XML 节点。

CustomXMLPart

返回一个 CustomXMLPart 对象,该对象表示文档中的内容控件映射到自定义 XML 部件。

IsMapped

返回 Boolean 值,该值表示文档中的内容控件是否映射到文档的 XML 数据存储内的 XML 节点。 此为只读属性。

Parent

返回一个 对象 ,表示指定的 XMLMapping 对象的父对象。

PrefixMappings

返回一个 字符串 ,表示用于计算 XPath 的当前 XML 映射的前缀映射。 此为只读属性。

XPath

返回一个 字符串 ,表示为 XML 映射,其计算结果为当前映射的 XML 节点的 XPath。 此为只读属性。

方法

Delete()

从父内容控件中删除 XML 映射。

SetMapping(String, String, CustomXMLPart)

允许创建或更改的内容控件的 XML 映射。 如果 Microsoft Office Word将内容控件映射到文档的自定义 XML 数据存储中的自定义 XML 节点,则返回 True

SetMappingByNode(CustomXMLNode)

允许创建或更改内容控件上的 XML 数据映射。 如果 Microsoft Office Word将内容控件映射到文档的自定义 XML 数据存储中的自定义 XML 节点,则返回 True

适用于