Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Język Visual Basic zapewnia obsługę LINQ to XML za pomocą literałów XML i właściwości osi XML. Dzięki temu można użyć znanej, wygodnej składni do pracy z kodem XML w języku Visual Basic. Literały XML umożliwiają dołączanie kodu XML bezpośrednio do kodu. Właściwości osi XML umożliwiają dostęp do węzłów podrzędnych, węzłów potomnych i atrybutów literału XML. Aby uzyskać więcej informacji, zobacz Omówienie literałów XML i uzyskiwanie dostępu do kodu XML w Visual Basic.
LINQ to XML to interfejs API programowania XML w pamięci przeznaczony specjalnie do korzystania z Language-Integrated Query (LINQ). Chociaż interfejsy API LINQ można wywoływać bezpośrednio, tylko język Visual Basic umożliwia deklarowanie literałów XML i bezpośredni dostęp do właściwości osi XML.
Uwaga / Notatka
Literały XML i właściwości osi XML nie są obsługiwane w kodzie deklaratywnym na stronie ASP.NET. Aby użyć funkcji XML języka Visual Basic, umieść kod na stronie za pomocą kodu w aplikacji ASP.NET.
Aby zapoznać się z powiązanymi pokazami wideo, zobacz Jak rozpocząć pracę z LINQ to XML? i Jak utworzyć arkusze kalkulacyjne programu Excel przy użyciu linQ to XML?.
Tworzenie kodu XML
Istnieją dwa sposoby tworzenia drzew XML w Visual Basic. Literał XML można zadeklarować bezpośrednio w kodzie lub za pomocą API LINQ utworzyć drzewo. Oba procesy umożliwiają kodowi odzwierciedlić ostateczną strukturę drzewa XML. Na przykład poniższy przykład kodu tworzy element XML:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Aby uzyskać więcej informacji, zobacz Tworzenie kodu XML w Visual Basic.
Uzyskiwanie dostępu do kodu XML i nawigowanie po pliku XML
Język Visual Basic udostępnia właściwości osi XML na potrzeby uzyskiwania dostępu do struktur XML i nawigowania po tych strukturach. Te właściwości umożliwiają dostęp do elementów i atrybutów XML, określając nazwy elementów podrzędnych XML. Alternatywnie można jawnie wywołać metody LINQ na potrzeby nawigowania i lokalizowania elementów i atrybutów. Na przykład poniższy przykład kodu używa właściwości osi XML do odwoływania się do atrybutów i elementów podrzędnych elementu XML. W przykładzie kodu użyto zapytania LINQ, aby pobrać elementy podrzędne i wygenerować je jako elementy XML, efektywnie wykonując transformację.
' 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
Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do kodu XML w Visual Basic.
Przestrzenie nazw XML
Język Visual Basic umożliwia określenie aliasu globalnej przestrzeni nazw XML przy użyciu instrukcji Imports
. Na poniższym przykładzie pokazano, jak użyć instrukcji Imports
, aby zaimportować przestrzeń nazw XML.
Imports <xmlns:ns="http://someNamespace">
Alias przestrzeni nazw XML można użyć podczas uzyskiwania dostępu do właściwości osi XML i deklarowania literałów XML dla dokumentów i elementów XML.
Obiekt XNamespace dla określonego prefiksu przestrzeni nazw można pobrać przy użyciu operatora GetXmlNamespace.
Aby uzyskać więcej informacji, zobacz Import Statement (XML Namespace).
Używanie przestrzeni nazw XML w literałach XML
W poniższym przykładzie pokazano, jak utworzyć obiekt XElement, który używa globalnej przestrzeni nazw 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)
Kompilator języka Visual Basic tłumaczy literały XML zawierające aliasy przestrzeni nazw XML na równoważny kod, który używa notacji XML do używania przestrzeni nazw XML z atrybutem xmlns
. Po skompilowaniu kod w przykładzie poprzedniej sekcji tworzy zasadniczo ten sam kod wykonywalny, co w poniższym przykładzie:
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)
Używanie przestrzeni nazw XML we właściwościach osi XML
Przestrzenie nazw XML zadeklarowane w literałach XML nie są dostępne do użycia we właściwościach osi XML. Można jednak używać globalnych przestrzeni nazw z właściwościami osi XML. Użyj dwukropka, aby oddzielić prefiks przestrzeni nazw XML od nazwy elementu lokalnego. Oto przykład:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)