Imports (Instrucción, Espacio de nombres XML)

Importa prefijos de espacio de nombres XML para su uso en literales XML y propiedades del eje XML.

Sintaxis

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

Partes

xmlNamespacePrefix
Opcional. Cadena por la que los elementos y atributos XML pueden hacer referencia a xmlNamespaceName . Si no xmlNamespacePrefix se proporciona ningún , el espacio de nombres XML importado es el espacio de nombres XML predeterminado. Debe ser un identificador XML válido. Para obtener más información, vea Nombres de elementos y atributos XML declarados.

xmlNamespaceName
Necesario. Cadena que identifica el espacio de nombres XML que se va a importar.

Comentarios

Puede usar la instrucción para definir espacios de nombres XML globales que puede usar con literales XML y propiedades de eje XML, o como parámetros Imports pasados al GetXmlNamespace operador . (Para obtener información sobre cómo usar la instrucción para importar un alias que se puede usar donde se usan nombres de tipo en el código, vea Imports Imports Statement (.NET Namespace and Type)[Instrucción Imports (espacio de nombres y tipo de .NET)]. La sintaxis para declarar un espacio de nombres XML mediante la Imports instrucción es idéntica a la sintaxis utilizada en XML. Por lo tanto, puede copiar una declaración de espacio de nombres de un archivo XML y usarla en una Imports instrucción .

Los prefijos de espacio de nombres XML son útiles cuando se quieren crear repetidamente elementos XML que se encuentran en el mismo espacio de nombres. El prefijo de espacio de nombres XML declarado con la instrucción es global en el sentido de que Imports está disponible para todo el código del archivo. Se puede usar al crear literales de elemento XML y al acceder a las propiedades del eje XML. Para obtener más información, vea Literal de elemento XML y Propiedades del eje XML.

Si define un espacio de nombres XML global sin un prefijo de espacio de nombres (por ejemplo, ), ese espacio de nombres Imports <xmlns="http://SomeNameSpace>" se considera el espacio de nombres XML predeterminado. El espacio de nombres XML predeterminado se usa para los literales de elemento XML o las propiedades del eje de atributo XML que no especifican explícitamente un espacio de nombres. El espacio de nombres predeterminado también se usa si el espacio de nombres especificado es el espacio de nombres vacío (es decir, xmlns="" ). El espacio de nombres XML predeterminado no se aplica a los atributos XML en literales XML ni a las propiedades del eje de atributos XML que no tienen un espacio de nombres.

Los espacios de nombres XML que se definen en un literal XML, que se denominan espacios de nombres XML locales, tienen prioridad sobre los espacios de nombres XML definidos por la instrucción Imports como globales. Los espacios de nombres XML definidos por la instrucción tienen prioridad sobre los espacios de nombres Imports XML importados para Visual Basic proyecto. Si un literal XML define un espacio de nombres XML, ese espacio de nombres local no se aplica a las expresiones incrustadas.

Los espacios de nombres XML globales siguen las mismas reglas de definición y ámbito que .NET Framework de nombres. Como resultado, puede incluir una instrucción para definir un espacio de nombres XML global en cualquier lugar donde Imports pueda importar un espacio de .NET Framework de nombres. Esto incluye archivos de código y espacios de nombres importados de nivel de proyecto. Para obtener información sobre los espacios de nombres importados de nivel de proyecto, vea Página Referencias, Project Designer (Visual Basic).

Cada archivo de código fuente puede contener cualquier número Imports de instrucciones. Deben seguir las declaraciones de opción, como la instrucción , y deben preceder a las declaraciones de elementos Option Strict de programación, como las instrucciones o Module Class .

Ejemplo 1

En el ejemplo siguiente se importa un espacio de nombres XML predeterminado y un espacio de nombres XML identificado con el prefijo ns . A continuación, crea literales XML que usan ambos espacios de nombres.

' 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 muestra el siguiente texto:

<ns:outer xmlns="http://DefaultNamespace"
          xmlns:ns="http://NewNamespace">
  <ns:innerElement></ns:innerElement>
  <siblingElement></siblingElement>
  <innerElement />
</ns:outer>

Ejemplo 2

En el ejemplo siguiente se importa el prefijo de espacio de nombres XML ns . A continuación, crea un literal XML que usa el prefijo de espacio de nombres y muestra el formulario final del 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 muestra el siguiente 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 el compilador ha convertido el prefijo del espacio de nombres XML de un prefijo global a una definición de prefijo local.

Ejemplo 3

En el ejemplo siguiente se importa el prefijo de espacio de nombres XML ns . A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y obtener acceso al primer nodo secundario con el nombre completo ns:name.

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 muestra el siguiente texto:

Patrick Hines

Consulta también