Operador GetXmlNamespace (Visual Basic)

Obtém o objeto XNamespace que corresponde ao prefixo de namespace de XML especificado.

Sintaxe

GetXmlNamespace(xmlNamespacePrefix)

Partes

xmlNamespacePrefix Opcional. A cadeia de caracteres que identifica o prefixo de namespace de XML. Se fornecida, essa cadeia de caracteres deve ser um identificador XML válido. Para obter mais informações, confira Nomes de elementos e atributos XML declarados. Se nenhum prefixo for especificado, o namespace padrão será retornado. Se nenhum namespace padrão for especificado, o namespace vazio será retornado.

Valor Retornado

O objeto XNamespace que corresponde ao prefixo do namespace de XML.

Comentários

O operador GetXmlNamespace obtém o objeto XNamespace que corresponde ao prefixo de namespace de XML xmlNamespacePrefix.

Você pode usar prefixos de namespace de XML diretamente em literais XML e propriedades de eixo XML. No entanto, você deve usar o operador GetXmlNamespace para converter um prefixo de namespace em um objeto XNamespace antes de poder usá-lo no código. Você pode anexar um nome de elemento não qualificado a um objeto XNamespace para obter um objeto XName totalmente qualificado, que muitos métodos LINQ to XML exigem.

Exemplo

O exemplo a seguir importa ns como um prefixo de namespace de XML. Em seguida, ele usa o prefixo do namespace para criar um literal do XML e acessar o primeiro nó filho que possui o nome qualificado ns:phone. Em seguida, ele passa esse nó filho para a sub-rotina ShowName, que constrói um nome qualificado usando o operador GetXmlNamespace. A sub-rotina ShowName então passa o nome qualificado para o método Ancestors para obter o nó pai 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

Quando você chama TestGetXmlNamespace.RunSample(), ele exibe uma caixa de mensagem que contém o seguinte texto:

Name: Patrick Hines

Confira também