Оператор GetXmlNamespace (Visual Basic)
XNamespace Возвращает объект, соответствующий указанному префиксу пространства имен XML.
Синтаксис
GetXmlNamespace(xmlNamespacePrefix)
Детали
xmlNamespacePrefix
Необязательный. Строка, определяющая префикс пространства имен XML. Если задано, эта строка должна быть допустимым XML-идентификатором. Дополнительные сведения см. в разделе "Имена объявленных XML-элементов и атрибутов". Если префикс не указан, возвращается пространство имен по умолчанию. Если пространство имен по умолчанию не указано, возвращается пустое пространство имен.
Возвращаемое значение
Объект XNamespace , соответствующий префиксу пространства имен XML.
Замечания
Оператор GetXmlNamespace
получает XNamespace объект, соответствующий префиксу xmlNamespacePrefix
пространства имен XML.
Префиксы пространства имен XML можно использовать непосредственно в xml-литералах и свойствах оси XML. Однако необходимо использовать GetXmlNamespace
оператор для преобразования префикса пространства имен в XNamespace объект, прежде чем использовать его в коде. Для получения полного XName объекта можно добавить неквалифицированное имя XNamespace элемента, для которого требуются многие методы 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