Declaração de importação (namespace XML)
Importa prefixos de namespace XML para uso em literais XML e propriedades de eixo XML.
Sintaxe
Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">
Partes
xmlNamespacePrefix
Opcional. A cadeia de caracteres pela qual os elementos e atributos XML podem se referir a xmlNamespaceName
. Se no xmlNamespacePrefix
for fornecido, o namespace XML importado será o namespace XML padrão. Deve ser um identificador XML válido. Para obter mais informações, consulte Nomes de elementos e atributos XML declarados.
xmlNamespaceName
Obrigatório. A cadeia de caracteres que identifica o namespace XML que está sendo importado.
Observações
Você pode usar a Imports
instrução para definir namespaces XML globais que podem ser usados com literais XML e propriedades do eixo XML ou como parâmetros passados para o GetXmlNamespace
operador. (Para obter informações sobre como usar a Imports
instrução para importar um alias que pode ser usado onde nomes de tipo são usados em seu código, consulte Imports Statement (.NET Namespace and Type).) A sintaxe para declarar um namespace XML usando a Imports
instrução é idêntica à sintaxe usada em XML. Portanto, você pode copiar uma declaração de namespace de um arquivo XML e usá-la em uma Imports
instrução.
Os prefixos de namespace XML são úteis quando você deseja criar repetidamente elementos XML que são do mesmo namespace. O prefixo do namespace XML declarado com a Imports
instrução é global no sentido de que está disponível para todo o código no arquivo. Você pode usá-lo ao criar literais de elemento XML e ao acessar propriedades do eixo XML. Para obter mais informações, consulte Literal de elemento XML e Propriedades do eixo XML.
Se você definir um namespace XML global sem um prefixo de namespace (por exemplo, Imports <xmlns="http://SomeNameSpace>"
), esse namespace será considerado o namespace XML padrão. O namespace XML padrão é usado para qualquer literal de elemento XML ou propriedades de eixo de atributo XML que não especifiquem explicitamente um namespace. O namespace padrão também é usado se o namespace especificado for o namespace vazio (ou seja, xmlns=""
). O namespace XML padrão não se aplica a atributos XML em literais XML ou a propriedades do eixo de atributos XML que não têm um namespace.
Os namespaces XML definidos em um literal XML, que são chamados de namespaces XML locais, têm precedência sobre os Imports
namespaces XML definidos pela instrução como globais. Os namespaces XML definidos pela instrução têm precedência sobre os Imports
namespaces XML importados para um projeto do Visual Basic. Se um literal XML define um namespace XML, esse namespace local não se aplica a expressões incorporadas.
Os namespaces XML globais seguem as mesmas regras de escopo e definição que os namespaces do .NET Framework. Como resultado, você pode incluir uma Imports
instrução para definir um namespace XML global em qualquer lugar que você possa importar um namespace do .NET Framework. Isso inclui arquivos de código e namespaces importados no nível do projeto. Para obter informações sobre namespaces importados no nível do projeto, consulte Página de referências, Project Designer (Visual Basic).
Cada arquivo de origem pode conter qualquer número de Imports
instruções. Elas devem seguir declarações de opção, como a Option Strict
instrução, e devem preceder declarações de elementos de programação, como Module
instruções or Class
.
Exemplo 1
O exemplo a seguir importa um namespace XML padrão e um namespace XML identificado com o prefixo ns
. Em seguida, ele cria literais XML que usam ambos os namespaces.
' Place Imports statements at the top of your program.
Imports <xmlns="http://DefaultNamespace">
Imports <xmlns:ns="http://NewNamespace">
Module Module1
Sub Main()
' Create element by using the default global XML namespace.
Dim inner = <innerElement/>
' Create element by using both the default global XML namespace
' and the namespace identified with the "ns" prefix.
Dim outer = <ns:outer>
<ns:innerElement></ns:innerElement>
<siblingElement></siblingElement>
<%= inner %>
</ns:outer>
' Display element to see its final form.
Console.WriteLine(outer)
End Sub
End Module
Este código exibe o seguinte texto:
<ns:outer xmlns="http://DefaultNamespace"
xmlns:ns="http://NewNamespace">
<ns:innerElement></ns:innerElement>
<siblingElement></siblingElement>
<innerElement />
</ns:outer>
Exemplo 2
O exemplo a seguir importa o prefixo ns
do namespace XML . Em seguida, ele cria um literal XML que usa o prefixo do namespace e exibe a forma final do elemento.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Class TestClass1
Shared Sub TestPrefix()
' Create test using a global XML namespace prefix.
Dim inner2 = <ns:inner2/>
Dim test =
<ns:outer>
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1/>
<%= inner2 %>
</ns:middle>
</ns:outer>
' Display test to see its final form.
Console.WriteLine(test)
End Sub
End Class
Este código exibe o seguinte texto:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Observe que o compilador converteu o prefixo do namespace XML de um prefixo global para uma definição de prefixo local.
Exemplo 3
O exemplo a seguir importa o prefixo ns
do namespace XML . Em seguida, ele usa o prefixo do namespace para criar um literal XML e acessar o primeiro nó filho com o nome ns:name
qualificado.
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass4
Shared Sub TestPrefix()
Dim contact = <ns:contact>
<ns:name>Patrick Hines</ns:name>
</ns:contact>
Console.WriteLine(contact.<ns:name>.Value)
End Sub
End Class
Este código exibe o seguinte texto:
Patrick Hines