Gambaran umum LINQ ke XML di Visual Basic

Visual Basic menyediakan dukungan untuk LINQ ke XML melalui literal XML dan properti sumbu XML. Ini memungkinkan Anda menggunakan sintaks yang familier dan nyaman untuk bekerja dengan XML dalam kode Visual Basic Anda. Literal XML memungkinkan Anda untuk menulis XML langsung dalam kode Anda. Properti sumbu XML memungkinkan Anda mengakses simpul anak, simpul turunan, dan atribut literal XML. Untuk informasi selengkapnya, lihat Gambaran Umum Literal XML dan Mengakses XML di Visual Basic.

LINQ ke XML adalah API pemrograman XML dalam memori yang dirancang khusus untuk memanfaatkan Language-Integrated Query (LINQ). Meskipun Anda dapat memanggil API LINQ secara langsung, hanya Visual Basic yang memungkinkan Anda mendeklarasikan literal XML dan langsung mengakses properti sumbu XML.

Catatan

Properti literal XML dan sumbu XML tidak didukung dalam kode deklaratif di halaman ASP.NET. Untuk menggunakan fitur xml Visual Basic, letakkan kode Anda di halaman di belakang kode di aplikasi ASP.NET Anda.

Play button Untuk demonstrasi video terkait, lihat Bagaimana Cara Memulai LINQ ke XML? dan Bagaimana Cara Membuat Lembar Bentang Excel menggunakan LINQ ke XML?.

Membuat XML

Ada dua cara untuk membuat pohon XML di Visual Basic. Anda dapat mendeklarasikan literal XML secara langsung dalam kode, atau Anda dapat menggunakan API LINQ untuk membuat pohon. Kedua proses memungkinkan kode untuk mencerminkan struktur akhir pohon XML. Misalnya, contoh kode berikut membuat elemen 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>

Untuk informasi selengkapnya, lihat Membuat XML di Visual Basic.

Mengakses dan Menavigasi XML

Visual Basic menyediakan properti sumbu XML untuk mengakses dan menavigasi LINQ ke struktur XML. Properti ini memungkinkan Anda mengakses elemen dan atribut XML dengan menentukan nama elemen turunan XML. Atau, Anda dapat secara eksplisit memanggil metode LINQ untuk menavigasi dan menemukan elemen dan atribut. Misalnya, contoh kode berikut menggunakan properti sumbu XML untuk merujuk ke atribut dan elemen turunan dari elemen XML. Contoh kode menggunakan kueri LINQ untuk mengambil elemen turunan dan mengeluarkannya sebagai elemen XML, secara efektif melakukan transformasi.

' 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

Untuk informasi selengkapnya, lihat Membuat XML di Visual Basic.

Namespace XML

Visual Basic memungkinkan Anda menentukan alias ke namespace XML global dengan menggunakan pernyataan Imports. Contoh berikut menunjukkan cara menggunakan pernyataan Imports untuk mengimpor namespace XML:

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

Anda bisa menggunakan alias namespace XML saat Anda mengakses properti sumbu XML dan mendeklarasikan literal XML untuk dokumen dan elemen XML.

Anda dapat mengambil objek XNamespace untuk awalan namespace tertentu dengan menggunakan Operator GetXmlNamespace.

Untuk informasi selengkapnya, lihat Pernyataan Impor (Namespace XML).

Menggunakan Namespace XML dalam Literal XML

Contoh berikut menunjukkan cara membuat objek XElement yang menggunakan namespace layanan global 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)

Pengkompilasi Visual Basic menerjemahkan literal XML yang berisi alias namespace XML ke dalam kode yang setara yang menggunakan notasi XML untuk menggunakan namespace XML, dengan atribut xmlns. Saat dikompilasi, kode dalam contoh bagian sebelumnya pada dasarnya menghasilkan kode yang dapat dieksekusi yang sama dengan contoh berikut:

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)

Menggunakan Namespace XML di Properti Sumbu XML

Namespace XML yang dideklarasikan dalam literal XML tidak tersedia untuk digunakan dalam properti sumbu XML. Namun, namespace global dapat digunakan dengan properti sumbu XML. Gunakan titik dua untuk memisahkan awalan namespace XML dari nama elemen lokal. Berikut ini adalah contohnya:

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

Lihat juga