DocumentBase.SelectNodes 方法

获取一个 Microsoft.Office.Interop.Word.XMLNodes 集合,该集合表示按照节点在文档中出现的顺序与 XPath 参数匹配的所有节点。

命名空间:  Microsoft.Office.Tools.Word
程序集:  Microsoft.Office.Tools.Word.v4.0.Utilities(在 Microsoft.Office.Tools.Word.v4.0.Utilities.dll 中)

语法

声明
Public Function SelectNodes ( _
    xPath As String, _
    prefixMapping As String, _
    fastSearchSkippingTextNodes As Boolean _
) As XMLNodes
public XMLNodes SelectNodes(
    string xPath,
    string prefixMapping,
    bool fastSearchSkippingTextNodes
)

参数

  • xPath
    类型:System.String
    有效的 XPath 字符串。关于 XPath 的更多信息,请参见 XPath 参考。
  • prefixMapping
    类型:System.String
    提供架构中用作搜索依据的前缀。如果 XPath 参数使用名称搜索元素,请使用 PrefixMapping 参数。
  • fastSearchSkippingTextNodes
    类型:System.Boolean
    如果为 true,则在搜索指定的节点时忽略所有文本节点。如果为 false,则在搜索中包含文本节点。默认值为 false。

返回值

类型:Microsoft.Office.Interop.Word.XMLNodes
一个 Microsoft.Office.Interop.Word.XMLNodes 集合,该集合表示按照节点在文档中出现的顺序与 XPath 参数匹配的所有节点;如果未找到与 XPath 参数匹配的节点,则为 nullnull 引用(在 Visual Basic 中为 Nothing)。

备注

将 FastSearchSkippingTextNodes 参数设置为 true 会降低性能,这是由于 Microsoft Office Word 会在文档中的所有节点搜索该节点中包含的文本。

可选参数

有关可选参数的信息,请参见Office 解决方案中的可选参数

示例

下面的代码示例阐释在调用 SelectNodes 方法时如何指定 XPath 和 PrefixMapping 参数。 若要使用此示例,请从文档级项目内的 ThisDocument 类中运行此示例。

Private Sub DocumentSelectNodes()
    If Me.XMLSchemaReferences.Count > 0 Then
        Dim XPath As String = "/x:catalog/x:book/x:title"
        Dim PrefixMapping As String = "xmlns:x=""" + _
            Me.XMLSchemaReferences(1).NamespaceURI + """"
        Dim node As Word.XMLNodes = Me.SelectNodes(XPath, _
            PrefixMapping, True)
    Else
        MessageBox.Show("The document does not contain a " + _
            "schema reference.")
    End If
End Sub
private void DocumentSelectNodes()
{
    if (this.XMLSchemaReferences.Count > 0)
    {
        string XPath = "/x:catalog/x:book/x:title";
        object key = 1;
        string PrefixMapping = "xmlns:x=\"" +
            this.XMLSchemaReferences[key].NamespaceURI +
            "\"";
        Word.XMLNodes nodes = this.SelectNodes(XPath, 
            PrefixMapping, true);
    }
    else
    {
        MessageBox.Show("The document does not contain a " +
            "schema reference.");
    }
}

.NET Framework 安全性

请参见

参考

DocumentBase 类

Microsoft.Office.Tools.Word 命名空间