Поделиться через


Оператор 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

См. также