Operatore GetXmlNamespace (Visual Basic)

Recupera l'oggetto XNamespace che corrisponde al prefisso dello spazio dei nomi XML specificato.

Sintassi

GetXmlNamespace(xmlNamespacePrefix)

Parti

xmlNamespacePrefix Facoltativo. Stringa che identifica il prefisso dello spazio dei nomi XML. Se specificato, questa stringa deve essere un identificatore XML valido. Per altre informazioni, vedere Nomi di elementi e attributi XML dichiarati. Se non viene specificato alcun prefisso, viene restituito lo spazio dei nomi predefinito. Se non viene specificato alcuno spazio dei nomi predefinito, viene restituito lo spazio dei nomi vuoto.

Valore restituito

Oggetto XNamespace che corrisponde al prefisso dello spazio dei nomi XML.

Osservazioni:

L'operatore GetXmlNamespace ottiene l'oggetto XNamespace che corrisponde al prefisso dello spazio dei nomi XML xmlNamespacePrefix.

È possibile usare i prefissi dello spazio dei nomi XML direttamente nei valori letterali XML e nelle proprietà dell'asse XML. Tuttavia, è necessario usare l'operatore GetXmlNamespace per convertire un prefisso dello spazio dei nomi in un oggetto XNamespace prima di poterlo usare nel codice. È possibile aggiungere un nome di elemento non qualificato a un oggetto XNamespace per ottenere un oggetto completo XName, che molti metodi LINQ to XML richiedono.

Esempio

Nell'esempio seguente viene importato ns come prefisso dello spazio dei nomi XML. Il prefisso dello spazio dei nomi viene quindi usato per creare un valore letterale XML e accedere al primo nodo figlio con il nome completo ns:phone. Passa quindi il nodo figlio alla subroutine ShowName, che costruisce un nome completo usando l'operatore GetXmlNamespace. La subroutine ShowName passa quindi il nome completo al metodo Ancestors per ottenere il nodo padre 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

Quando si chiama TestGetXmlNamespace.RunSample(), viene visualizzata una finestra di messaggio contenente il testo seguente:

Name: Patrick Hines

Vedi anche