GetXmlNamespace 运算符 (Visual Basic)

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

语法

GetXmlNamespace(xmlNamespacePrefix)

组成部分

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

返回值

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

注解

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

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

示例

以下示例将作为 XML 命名空间前缀导入 ns。 然后,它将使用该命名空间前缀来创建 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

另请参阅