GetXmlNamespace 运算符 (Visual Basic)

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

GetXmlNamespace(xmlNamespacePrefix)

部件

  • xmlNamespacePrefix
    可选。 标识 XML 命名空间前缀的字符串。 如果提供字符串,该字符串必须为有效的 XML 标识符。 有关更多信息,请参见 已声明的 XML 元素和特性的名称 (Visual Basic)。 如果未指定前缀,则返回默认命名空间。 如果未指定默认命名空间,则返回空命名空间。

返回值

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

备注

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

在 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

请参见

参考

Imports 语句(XML 命名空间)

其他资源

在 Visual Basic 中访问 XML