Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Visual Basic har stöd för LINQ till XML via XML-literaler och XML-axelegenskaper. På så sätt kan du använda en välbekant, praktisk syntax för att arbeta med XML i Visual Basic-koden. Med XML-literaler kan du inkludera XML direkt i koden. Egenskaper för XML-axeln låter dig komma åt underordnade noder, efterföljande noder och attribut för en XML-literal. Mer information finns i Översikt över XML-literaler och åtkomst till XML i Visual Basic.
LINQ till XML är ett minnesinternt XML-programmerings-API som utformats specifikt för att dra nytta av Language-Integrated Query (LINQ). Även om du kan anropa LINQ-API:erna direkt kan du bara använda Visual Basic för att deklarera XML-literaler och komma åt XML-axelegenskaper direkt.
Anmärkning
XML-literaler och XML-axelegenskaper stöds inte i deklarativ kod på en ASP.NET sida. Om du vill använda Visual Basic XML-funktioner placerar du koden på en sida bakom koden i ditt ASP.NET-program.
Relaterade videodemonstrationer finns i How Do I Get Started with LINQ to XML? and How Do I Create Excel Spreadsheets using LINQ to XML?.
Skapa XML
Det finns två sätt att skapa XML-träd i Visual Basic. Du kan deklarera en XML-literal direkt i kod, eller så kan du använda LINQ-API:erna för att skapa trädet. Båda processerna gör det möjligt för koden att återspegla xml-trädets slutliga struktur. I följande kodexempel skapas till exempel ett XML-element:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Mer information finns i Skapa XML i Visual Basic.
Komma åt och navigera i XML
Visual Basic tillhandahåller XML-axelegenskaper för att komma åt och navigera i XML-strukturer. Med de här egenskaperna kan du komma åt XML-element och -attribut genom att ange de underordnade XML-elementnamnen. Du kan också uttryckligen anropa LINQ-metoderna för att navigera och hitta element och attribut. I följande kodexempel används till exempel XML-axelegenskaper för att referera till attribut och underordnade element i ett XML-element. Kodexemplet använder en LINQ-fråga för att hämta underordnade element och mata ut dem som XML-element, vilket effektivt utför en transformering.
' 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
Mer information finns i Komma åt XML i Visual Basic.
XML-namnområden
Med Visual Basic kan du ange ett alias för ett globalt XML-namnområde med hjälp av -instruktionen Imports . I följande exempel visas hur du använder -instruktionen Imports för att importera ett XML-namnområde:
Imports <xmlns:ns="http://someNamespace">
Du kan använda ett XML-namnområdesalias när du kommer åt XML-axelegenskaper och deklarera XML-literaler för XML-dokument och -element.
Du kan hämta ett XNamespace objekt för ett visst namnområdesprefix med hjälp av Operatorn GetXmlNamespace.
Mer information finns i Importinstruktor (XML-namnområde).
Använda XML-namnområden i XML-literaler
I följande exempel visas hur du skapar ett XElement objekt som använder det globala namnområdet ns:
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)
Visual Basic-kompilatorn översätter XML-literaler som innehåller XML-namnområdesalias till motsvarande kod som använder XML-notationen för att använda XML-namnområden med xmlns attributet . När koden i föregående avsnitts exempel kompileras genererar den i stort sett samma körbara kod som i följande exempel:
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)
Använda XML-namnområden i XML-axelegenskaper
XML-namnområden som deklarerats i XML-literaler är inte tillgängliga för användning i XML-axelegenskaper. Globala namnområden kan dock användas med XML-axelns egenskaper. Använd ett kolon för att separera XML-namnområdesprefixet från det lokala elementnamnet. Följande är ett exempel:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)