GetXmlNamespace 运算符 (Visual Basic)

XNamespace获取与指定的 XML 命名空间前缀对应的对象。

语法

GetXmlNamespace(xmlNamespacePrefix)

部件

xmlNamespacePrefix 可选。 标识 XML 命名空间前缀的字符串。 如果提供,此字符串必须是有效的 XML 标识符。 有关详细信息,请参阅 声明的 XML 元素和属性的名称。 如果未指定前缀,则返回默认命名空间。 如果未指定默认命名空间,则返回空命名空间。

返回值

XNamespace对应于 XML 命名空间前缀的对象。

注解

运算符 GetXmlNamespace 获取 XNamespace 对应于 XML 命名空间前缀 xmlNamespacePrefix的对象。

可以直接在 XML 文本和 XML 轴属性中使用 XML 命名空间前缀。 但是,必须先使用 GetXmlNamespace 运算符将命名空间前缀转换为对象, XNamespace 然后才能在代码中使用它。 可以将不限定的元素名称追加到 XNamespace 对象,以获取一个完全限定 XName 的对象,许多 LINQ to XML 方法都需要该对象。

示例:

以下示例导入 ns 为 XML 命名空间前缀。 然后,它使用命名空间的前缀创建 XML 文本并访问具有限定名称 ns:phone的第一个子节点。 然后,它将该子节点传递到 ShowName 子例程,该子例程使用 GetXmlNamespace 运算符构造限定的名称。 然后,子 ShowName 例程将限定名称传递给 Ancestors 方法以获取父 ns:contact 节点。

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">

Module GetXmlNamespaceSample

    Sub RunSample()

        ' Create test by using a global XML namespace prefix. 

        Dim contact = 
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        ShowName(contact.<ns:phone>(0))
    End Sub

    Sub ShowName(ByVal phone As XElement)
        Dim qualifiedName = GetXmlNamespace(ns) + "contact"
        Dim contact = phone.Ancestors(qualifiedName)(0)
        Console.WriteLine("Name: " & contact.<ns:name>.Value)
    End Sub

End Module

调用 TestGetXmlNamespace.RunSample()时,它将显示包含以下文本的消息框:

Name: Patrick Hines

另请参阅