Opérateur GetXmlNamespace (Visual Basic)

Obtient l’objet XNamespace qui correspond au préfixe d’espace de noms XML spécifié.

Syntaxe

GetXmlNamespace(xmlNamespacePrefix)

Éléments

xmlNamespacePrefix Facultatif. Chaîne qui identifie le préfixe d’espace de noms XML. Si elle est fournie, cette chaîne doit être un identificateur XML valide. Pour plus d’informations, consultez Noms des attributs et des éléments XML déclarés. Si aucun préfixe n’est spécifié, l’espace de noms par défaut est retourné. Si aucun espace de noms par défaut n’est spécifié, l’espace de noms vide est retourné.

Valeur renvoyée

Objet XNamespace qui correspond au préfixe d’espace de noms XML.

Notes

L’opérateur GetXmlNamespace obtient l’objet XNamespace qui correspond au préfixe xmlNamespacePrefixd’espace de noms XML.

Vous pouvez utiliser des préfixes d’espace de noms XML directement dans des littéraux XML et des propriétés d’axe XML. Toutefois, vous devez utiliser l’opérateur GetXmlNamespace pour convertir un préfixe d’espace de noms en objet XNamespace avant de pouvoir l’utiliser dans votre code. Vous pouvez ajouter un nom d’élément non qualifié à un objet XNamespace pour obtenir un objet complet XName, que de nombreuses méthodes LINQ à XML nécessitent.

Exemple

L’exemple suivant importe ns en tant que 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 portant le nom qualifié ns:phone. Il transmet ensuite ce nœud enfant à la sous-routine ShowName, qui crée un nom qualifié à l’aide de l’opérateur GetXmlNamespace. La sous-routine ShowName transmet ensuite le nom qualifié à la méthode Ancestors pour obtenir le nœud parent 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

Lorsque vous appelez TestGetXmlNamespace.RunSample(), il affiche une zone de message qui contient le texte suivant :

Name: Patrick Hines

Voir aussi