Imports, instruction (espace de noms XML)

Importe des préfixes d'espace de noms XML à utiliser dans les littéraux et propriétés d'axe XML.

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

Composants

  • xmlNamespacePrefix
    Facultatif. Chaîne par laquelle les éléments et les attributs XML peuvent faire référence à xmlNamespaceName. Si aucun xmlNamespacePrefix n'est fourni, l'espace de noms XML importé est celui par défaut. Doit être un identificateur XML valide. Pour plus d'informations, consultez Nom des attributs et des éléments XML déclarés (Visual Basic).

  • xmlNamespaceName
    Obligatoire. Chaîne identifiant l'espace de noms XML qui est importé.

Notes

Vous pouvez utiliser l'instruction Imports pour définir des espaces de noms XML globaux utilisables avec les littéraux XML et les propriétés d'axe XML, ou comme paramètres passés à l'opérateur GetXmlNamespace. (Pour plus d'informations sur l'utilisation de l'instruction Imports pour importer un alias utilisable lorsque des noms de type sont utilisés dans votre code, consultez Imports, instruction (espace de noms et type .NET).) La syntaxe de déclaration d'un espace de noms XML à l'aide de l'instruction Imports est identique à celle utilisée en XML. Par conséquent, vous pouvez copier une déclaration d'espace de noms d'un fichier XML et l'utiliser dans une instruction Imports.

Les préfixes d'espace de noms XML sont utiles lorsque vous souhaitez créer à plusieurs reprises des éléments XML issus du même espace de noms. Le préfixe d'espace de noms XML déclaré avec l'instruction Imports est global en ce sens qu'il est à disposition de l'ensemble du code du fichier. Vous pouvez l'utiliser pour créer des littéraux d'élément XML et accéder aux propriétés d'axe XML. Pour plus d'informations, consultez Littéral d'élément XML (Visual Basic) et Propriétés d'axe XML (Visual Basic).

Si vous définissez un espace de noms XML global sans préfixe d'espace de noms (par exemple, Imports <xmlns="http://SomeNameSpace>"), il est considéré comme l'espace de noms XML par défaut. L'espace de noms XML par défaut est utilisé pour tout littéral d'élément XML ou propriété d'axe d'attribut XML qui ne spécifie pas explicitement d'espace de noms. L'espace de noms par défaut est également utilisé si l'espace de noms spécifié est l'espace de noms vide (autrement dit, ). L'espace de noms XML par défaut ne s'applique pas aux attributs XML des littéraux XML ou aux propriétés d'axe d'attribut XML qui n'ont pas d'espace de noms.

Les espaces de noms XML définis dans un littéral XML, appelés espaces de noms XML locaux, sont prioritaires sur les espaces de noms XML définis par l'instruction Imports comme globaux. Les espaces de noms XML définis par l'instruction Imports sont prioritaires sur les espaces de noms XML importés pour un projet Visual Basic. Si un littéral XML définit un espace de noms XML, cet espace de noms local ne s'applique pas aux expressions incorporées.

Les espaces de noms XML globaux suivent les mêmes règles de portée et de définition que les espaces de noms .NET Framework. En conséquence, vous pouvez inclure une instruction Imports pour définir un espace de noms XML global partout où vous pouvez importer un espace de noms .NET Framework. Cela inclut les fichiers de code et les espaces de noms importés au niveau du projet. Pour plus d'informations sur les espaces de noms importés au niveau du projet, consultez Page Références, Concepteur de projets (Visual Basic).

Chaque fichier source peut contenir un nombre quelconque d'instructions Imports. Ces derniers doivent respecter les déclarations d'option, telles que l'instruction Option Strict, et doivent précéder les déclarations d'élément de programmation, telles que les instructions Module ou Class.

Exemple

L'exemple suivant importe un espace de noms XML par défaut et un espace de noms XML identifié par le préfixe ns. Il crée ensuite des littéraux XML qui utilisent les deux espaces de noms.

' 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

Ce code affiche le texte suivant :

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

L'exemple suivant importe le préfixe d'espace de noms XML ns. Il crée alors un littéral XML qui utilise le préfixe d'espace de noms et affiche le formulaire final de l'élément.

' 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

Ce code affiche le texte suivant :

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Notez que le compilateur a converti le préfixe d'espace de noms XML en définition de préfixe locale à partir d'un préfixe global.

L'exemple suivant importe le préfixe d'espace de noms XML ns. Il utilise alors le préfixe de l'espace de noms pour créer un littéral XML et accéder au premier nœud enfant avec le nom qualifié 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

Ce code affiche le texte suivant :

Patrick Hines

Voir aussi

Référence

Littéral d'élément XML (Visual Basic)

Opérateur GetXmlNamespace (Visual Basic)

Concepts

Nom des attributs et des éléments XML déclarés (Visual Basic)

Autres ressources

Propriétés d'axe XML (Visual Basic)