XMLMapping 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示自定义 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 ("<books><book><author>Matt Hink</author>" & _
"<title>Migration Paths of the Red Breasted Robin</title>" & _
"<genre>non-fiction</genre><price>29.95</price>" & _
"<pub_date>2/1/2007</pub_date><abstract>You see them in " & _
"the spring outside your windows. You hear their lovely " & _
"songs wafting in the warm spring air. Now follow the path " & _
"of the red breasted robin as it migrates to warmer climes " & _
"in the fall, and then back to your back yard in the spring." & _
"</abstract></book></books>")
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 部件。 有关使用 CustomXMLNode 和 CustomXMLPart 对象的详细信息,请参阅各个对象主题。
属性
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。 |