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


Оператор GetXmlNamespace

Обновлен: Ноябрь 2007

Получает объект XNamespace, соответствующий указанному префиксу пространства имен XML.

GetXmlNamespace(xmlNamespacePrefix)

Компоненты

  • xmlNamespacePrefix
    Необязательно. Строка, определяющая префикс пространства имен XML. Указанная строка должна быть допустимым идентификатором XML. Дополнительные сведения см. в разделе Имена объявляемых элементов и атрибутов XML. Если префикс не указан, то возвращается пространство имен по умолчанию. Если не указано пространство имен по умолчанию, то возвращается пустое пространство имен.

Возвращаемое значение

Объект XNamespace, соответствующий указанному префиксу пространства имен XML.

Заметки

Оператор GetXmlNamespace получает объект XNamespace, соответствующий указанному префиксу xmlNamespacePrefix пространства имен XML.

Можно использовать префиксы пространства имен 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

См. также

Ссылки

Оператор Imports (пространство имен XML)

Другие ресурсы

Доступ к XML в Visual Basic