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