Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Visual Basic bietet Unterstützung für LINQ to XML über XML-Literale und XML-Achseneigenschaften. Auf diese Weise können Sie eine vertraute, bequeme Syntax zum Arbeiten mit XML in Ihrem Visual Basic-Code verwenden. MIT XML-Literalen können Sie XML direkt in Ihren Code einschließen. XML-Achseneigenschaften ermöglichen den Zugriff auf untergeordnete Knoten, Nachfolgerknoten und Attribute eines XML-Literals. Weitere Informationen finden Sie im Abschnitt XML-Literale Übersicht und Zugriff auf XML in Visual Basic.
LINQ to XML ist eine IN-Memory-XML-Programmier-API, die speziell für die Nutzung von Language-Integrated Query (LINQ) entwickelt wurde. Obwohl Sie die LINQ-APIs direkt aufrufen können, ermöglicht nur Visual Basic die Deklaration von XML-Literalen und den direkten Zugriff auf XML-Achseneigenschaften.
Hinweis
XML-Literale und XML-Achseneigenschaften werden in deklarativem Code auf einer ASP.NET Seite nicht unterstützt. Um Visual Basic-XML-Features zu verwenden, platzieren Sie Ihren Code in einer CodeBehind-Seite in Ihrer ASP.NET-Anwendung.
Verwandte Videodemonstrationen finden Sie unter How Do I Get Started with LINQ to XML? and How Do I Create Excel Spreadsheets using LINQ to XML?.
Erstellen von XML
Es gibt zwei Möglichkeiten zum Erstellen von XML-Strukturen in Visual Basic. Sie können ein XML-Literal direkt im Code deklarieren, oder Sie können die LINQ-APIs verwenden, um einen Baum zu erstellen. Beide Prozesse ermöglichen es dem Code, die endgültige Struktur des XML-Baums widerzuspiegeln. Im folgenden Codebeispiel wird beispielsweise ein XML-Element erstellt:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Weitere Informationen finden Sie unter Erstellen von XML in Visual Basic.
Zugreifen auf und Navigieren in XML
Visual Basic stellt XML-Achseneigenschaften für den Zugriff auf und die Navigation in XML-Strukturen bereit. Mit diesen Eigenschaften können Sie auf XML-Elemente und -Attribute zugreifen, indem Sie die untergeordneten XML-Elementnamen angeben. Alternativ können Sie die LINQ-Methoden explizit zum Navigieren und Suchen von Elementen und Attributen aufrufen. Im folgenden Codebeispiel werden beispielsweise XML-Achseneigenschaften verwendet, um auf die Attribute und untergeordneten Elemente eines XML-Elements zu verweisen. Im Codebeispiel wird eine LINQ-Abfrage verwendet, um untergeordnete Elemente abzurufen und als XML-Elemente auszugeben, was eine Transformation effektiv ausführt.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module Sample1
Sub SampleTransform()
' 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>
Dim phoneTypes =
<phoneTypes>
<%= From phone In contact.<ns:phone>
Select <type><%= phone.@ns:type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
End Sub
End Module
Weitere Informationen finden Sie unter Zugreifen auf XML in Visual Basic.
XML-Namespaces
Mit Visual Basic können Sie einen Alias für einen globalen XML-Namespace mithilfe der Imports
Anweisung angeben. Das folgende Beispiel zeigt, wie Sie mithilfe der Imports
Anweisung einen XML-Namespace importieren:
Imports <xmlns:ns="http://someNamespace">
Sie können einen XML-Namespacealias verwenden, wenn Sie auf XML-Achseneigenschaften zugreifen und XML-Literale für XML-Dokumente und -Elemente deklarieren.
Sie können ein XNamespace Objekt für ein bestimmtes Namespacepräfix abrufen, indem Sie den GetXmlNamespace-Operator verwenden.
Weitere Informationen finden Sie unter Imports-Anweisung (XML-Namespace).
Verwenden von XML-Namespaces in XML-Literalen
Das folgende Beispiel zeigt, wie Sie ein XElement Objekt erstellen, das den globalen Namespace ns
verwendet:
Dim contact1 As XElement =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone type="home">206-555-0144</ns:phone>
<ns:phone type="work">425-555-0145</ns:phone>
</ns:contact>
Console.WriteLine(contact1)
Der Visual Basic-Compiler übersetzt XML-Literale, die XML-Namespacealiasen enthalten, in gleichwertigen Code, der die XML-Notation für die Verwendung von XML-Namespaces mit dem xmlns
Attribut verwendet. Bei der Kompilierung erzeugt der Code im Beispiel des vorherigen Abschnitts im Wesentlichen denselben ausführbaren Code wie im folgenden Beispiel:
Dim contact2 As XElement =
<ns1:contact xmlns:ns1="http://someNamespace">
<ns1:name>Patrick Hines</ns1:name>
<ns1:phone type="home">206-555-0144</ns1:phone>
<ns1:phone type="work">425-555-0145</ns1:phone>
</ns1:contact>
Console.WriteLine(contact2)
Verwenden von XML-Namespaces in XML-Achsenattributen
XML-Namespaces, die in XML-Literalen deklariert sind, sind für die Verwendung in XML-Achsen-Eigenschaften nicht verfügbar. Globale Namespaces können jedoch mit den XML-Achseneigenschaften verwendet werden. Verwenden Sie einen Doppelpunkt, um das XML-Namespacepräfix vom lokalen Elementnamen zu trennen. Es folgt ein Beispiel:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)