Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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 nsverwendet:
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)