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