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