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