Imports, instruction (espace de noms XML)

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

Syntaxe

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

Éléments

xmlNamespacePrefix
Optionnel. La chaîne par laquelle les éléments et attributs XML peuvent faire référence à xmlNamespaceName. Si aucun xmlNamespacePrefix n’est fourni, l’espace de noms XML importé est l’espace de noms XML par défaut. Doit être un identificateur XML valide. Pour plus d’informations, consultez Noms des attributs et des éléments XML déclarés.

xmlNamespaceName
Obligatoire. La chaîne identifiant l’espace de noms XML en cours d’importation.

Notes

Vous pouvez utiliser l’instruction Imports pour définir des espaces de noms XML globaux que vous pouvez utiliser avec des littéraux XML et des propriétés d’axe XML, ou en tant que paramètres passés à l’opérateur GetXmlNamespace. (Pour plus d’informations sur l’utilisation de l’instruction Imports pour importer un alias qui peut être utilisé aux endroits où les noms de types 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 à la syntaxe utilisée dans XML. Par conséquent, vous pouvez copier une déclaration d’espace de noms à partir 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 provenant du même espace de noms. Le préfixe d’espace de noms XML déclaré avec l’instruction Imports est global dans le sens où il est disponible pour tout le code du fichier. Vous pouvez l’utiliser lorsque vous créez des littéraux d’élément XML et lorsque vous accédez aux propriétés de l’axe XML. Pour plus d’informations, consultez Littéral d’élément XML et Propriétés de l’axe XML.

Si vous définissez un espace de noms XML global sans préfixe d’espace de noms (par exemple, Imports <xmlns="http://SomeNameSpace>"), cet espace de noms est considéré comme l’espace de noms XML par défaut. L’espace de noms XML par défaut est utilisé pour les littéraux d’élément XML ou les propriétés d’axe d’attribut XML qui ne spécifient 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, xmlns=""). L’espace de noms XML par défaut ne s’applique pas aux attributs XML dans les littéraux XML ou aux propriétés de l’axe des attributs 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 comme globaux par l’instruction Imports. 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 d’étendue et de définition que les espaces de noms .NET Framework. Par conséquent, 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 n’importe quel nombre d’instructions Imports. Ces déclarations doivent suivre les déclarations d’option, telles que l’instruction Option Strict, et elles doivent précéder les déclarations d’éléments de programmation, telles que les instructions Module ou Class.

Exemple 1

L’exemple suivant importe un espace de noms XML par défaut et un espace de noms XML identifié avec 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>

Exemple 2

L’exemple suivant importe le ns du préfixe d’espace de noms XML. Il crée ensuite 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 d’un préfixe global en définition de préfixe local.

Exemple 3

L’exemple suivant importe le ns du préfixe d’espace de noms XML. Il utilise ensuite 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