GetXmlNamespace — Operator (Visual Basic)
XNamespace Pobiera obiekt odpowiadający określonemu prefiksowi przestrzeni nazw XML.
Składnia
GetXmlNamespace(xmlNamespacePrefix)
generatora
xmlNamespacePrefix
Opcjonalne. Ciąg identyfikujący prefiks przestrzeni nazw XML. Jeśli zostanie podany, ten ciąg musi być prawidłowym identyfikatorem XML. Aby uzyskać więcej informacji, zobacz Nazwy zadeklarowanych elementów XML i atrybutów. Jeśli nie określono żadnego prefiksu, zwracana jest domyślna przestrzeń nazw. Jeśli nie określono domyślnej przestrzeni nazw, zwracana jest pusta przestrzeń nazw.
Wartość zwracana
XNamespace Obiekt odpowiadający prefiksowi przestrzeni nazw XML.
Uwagi
Operator GetXmlNamespace
pobiera XNamespace obiekt odpowiadający prefiksowi xmlNamespacePrefix
przestrzeni nazw XML .
Prefiksy przestrzeni nazw XML można używać bezpośrednio w literałach XML i właściwościach osi XML. Należy jednak użyć GetXmlNamespace
operatora , aby przekonwertować prefiks przestrzeni nazw na XNamespace obiekt, zanim będzie można go użyć w kodzie. Możesz dołączyć niekwalifikowaną nazwę elementu do XNamespace obiektu, aby uzyskać w pełni kwalifikowany XName obiekt, którego wymaga wiele metod LINQ to XML.
Przykład
Poniższy przykład importuje ns
jako prefiks przestrzeni nazw XML. Następnie używa prefiksu przestrzeni nazw, aby utworzyć literał XML i uzyskać dostęp do pierwszego węzła podrzędnego, który ma kwalifikowaną nazwę ns:phone
. Następnie przekazuje ten węzeł podrzędny do ShowName
podroutyny, która konstruuje kwalifikowaną nazwę przy użyciu GetXmlNamespace
operatora . Następnie ShowName
podprokutyna przekazuje kwalifikowaną nazwę do Ancestors metody w celu pobrania węzła nadrzędnego 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
Po wywołaniu TestGetXmlNamespace.RunSample()
metody wyświetla ono pole komunikatu zawierające następujący tekst:
Name: Patrick Hines