Udostępnij za pośrednictwem


Omówienie LINQ XML w języku Visual Basic

Visual Basiczapewnia obsługę dla LINQ to XML za pomocą literałów XML i właściwości osi XML.Dzięki temu można używać składni znanych, wygodne do pracy z danymi XML w sieci Visual Basic kodu.  Literały XML umożliwiają dodawanie XML bezpośrednio w kodzie.Właściwości osi XML umożliwienia dostępu węzły podrzędne węzły podrzędne i atrybuty literał XML.Aby uzyskać więcej informacji, zobacz Omówienie literały XML (Visual Basic) i Uzyskiwanie dostępu do XML w języku Visual Basic.

LINQ to XMLjest w pamięci XML programowania zaprojektowany specjalnie, aby korzystać z interfejsu API Language-Integrated Query (LINQ).Chociaż można wywołać LINQ API bezpośrednio, tylko Visual Basic pozwala na stwierdzenie literały XML i uzyskać bezpośredni dostęp do właściwości osi XML.

[!UWAGA]

Literały XML i właściwości osi XML nie są obsługiwane deklaracyjne kodu w aplikacji ASP.Strona netto.Aby używać funkcji języka Visual Basic XML, należy umieścić swój kod na stronie związanego kodu w aplikacji ASP.NET aplikacji.

łącze do wideo Pokrewne pokazów wideo, zobacz jak rozpocząć korzystanie z LINQ XML? i How do I tworzyć arkusze programu Excel przy użyciu LINQ XML?.

Tworzenie XML

Istnieją dwa sposoby tworzenia drzewa XML w Visual Basic.Można zadeklarować literału bezpośrednio w kodzie XML lub można użyć LINQ API do tworzenia drzewa.Oba procesy należy włączyć kod odzwierciedlać końcowego strukturę drzewa XML.Na przykład poniższy przykład kodu tworzy 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>

Aby uzyskać więcej informacji, zobacz Tworzenie XML w języku Visual Basic.

Uzyskiwanie dostępu do i nawigowanie XML

Visual Basiczapewnia właściwości osi XML do uzyskiwania dostępu i przeglądanie struktur XML.Właściwości te umożliwiają dostęp do elementów XML i atrybuty przez określenie nazwy elementów podrzędnych XML.Alternatywnie, można jawnie wywołać LINQ metody umożliwiające nawigację 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 elementy podrzędne elementu XML.W przykładzie kodu LINQ kwerendy do pobierania elementów podrzędnych i wyjście je jako elementy XML, skutecznego przeprowadzania transformacji.

' 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 XML w języku Visual Basic.

Przestrzenie nazw XML

Visual BasicPozwala określić alias do globalnej przestrzeni nazw XML za pomocą Imports instrukcji.Poniższy przykład pokazuje, jak używać Imports instrukcji, aby zaimportować przestrzeni nazw XML:

Imports <xmlns:ns="http://someNamespace">

Alias obszaru nazw XML można użyć, gdy dostęp do właściwości osi XML i zadeklarować literały XML dla dokumentów XML i elementów.

Można pobrać XNamespace obiektu dla prefiksu określonego obszaru nazw przy użyciu Operator GetXmlNamespace (Visual Basic).

Aby uzyskać więcej informacji, zobacz Instrukcja przywozu (obszar nazw XML).

Bb384460.collapse_all(pl-pl,VS.110).gifPrzy użyciu przestrzeni nazw XML w literały XML

Poniższy przykład pokazuje, jak utworzyć XElement obiekt, który używa globalnego obszaru 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)

Visual Basic Kompilator tłumaczy literały XML, które zawierają aliasy nazw XML na równoważne kod, który używa notacji XML przy użyciu przestrzeni nazw XML, z xmlns atrybut.Gdy kompilowany, kod w poprzedniej sekcji przykład produkuje głównie ten sam kod wykonywalny w następującym 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)

Bb384460.collapse_all(pl-pl,VS.110).gifWe właściwościach osi XML przy użyciu przestrzeni nazw XML

Przestrzeni nazw XML zadeklarowane w XML literały nie są dostępne do użytku we właściwościach osi XML.Jednakże można globalnej przestrzeni nazw z właściwości XML osi.Użyj dwukropka do oddzielenia prefiks obszaru nazw XML z nazwą elementu lokalnego.Oto przykład:

Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)

Zobacz też

Inne zasoby

XML w języku Visual Basic

Tworzenie XML w języku Visual Basic

Uzyskiwanie dostępu do XML w języku Visual Basic

Manipulowanie XML w języku Visual Basic