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