Literal Elemen XML (Visual Basic)

Literal yang mewakili objek XElement.

Sintaks

<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>

Generator

  • <

    Harus diisi. Membuka tag elemen awal.

  • name

    Harus diisi. Nama elemen. Formatnya adalah salah satu dari yang berikut:

    • Teks literal untuk nama elemen, dari formulir [ePrefix:]eName, di mana:

      Bagian Deskripsi
      ePrefix Opsional. Prefiks namespace XML untuk elemen. Harus berupa namespace XML global yang ditentukan dengan pernyataan Imports dalam file atau di tingkat proyek, atau namespace XML lokal yang ditentukan dalam elemen ini atau elemen induk.
      eName Harus diisi. Nama elemen. Formatnya adalah salah satu dari yang berikut:

      - Teks literal. Lihat Nama Elemen dan Atribut XML yang Dideklarasikan.
      - Ekspresi sematan dari formulir <%= eNameExp %>. Jenis eNameExp harus String atau jenis yang secara implisit dapat dikonversi ke XName.
    • Ekspresi sematan dari formulir <%= nameExp %>. Jenis nameExp harus String atau jenis yang secara implisit dapat dikonversi ke XName. Ekspresi yang disematkan tidak diperbolehkan dalam tag penutup elemen.

  • attributeList

    Opsional. Daftar atribut yang dideklarasikan dalam literal.

    attribute [ attribute ... ]

    Setiap attribute memiliki satu dari sintaks berikut:

    • Penetapan atribut, dari formulir [aPrefix:]aName=aValue, di mana:

      Bagian Deskripsi
      aPrefix Opsional. Prefiks namespace XML untuk atribut. Harus berupa namespace XML global yang didefinisikan dengan Imports pernyataan, atau namespace XML lokal yang didefinisikan dalam elemen ini atau elemen induk.
      aName Harus diisi. Nama atribut. Formatnya adalah salah satu dari yang berikut:

      - Teks literal. Lihat Nama Elemen dan Atribut XML yang Dideklarasikan.
      - Ekspresi sematan dari formulir <%= aNameExp %>. Jenis aNameExp harus String atau jenis yang secara implisit dapat dikonversi ke XName.
      aValue Opsional. Nilai atribut. Formatnya adalah salah satu dari yang berikut:

      - Teks literal, terlampir dalam tanda kutip.
      - Ekspresi sematan dari formulir <%= aValueExp %>. Semua jenis diperbolehkan.
    • Ekspresi sematan dari formulir <%= aExp %>.

  • />

    Opsional. Menunjukkan bahwa elemen itu adalah elemen kosong, tanpa konten.

  • >

    Harus diisi. Mengakhiri tag elemen awal atau kosong.

  • elementContents

    Opsional. Konten elemen.

    content [ content ... ]

    Masing-masing content bisa jadi satu dari yang berikut:

  • </[name]>

    Opsional. Mewakili tag penutup untuk elemen. Parameter opsional name tidak diizinkan ketika merupakan hasil dari ekspresi yang disematkan.

Tampilkan Nilai

Sebuah objekXElement.

Keterangan

Anda dapat menggunakan sintaks literal elemen XML untuk membuat objek XElement dalam kode Anda.

Catatan

Harfiah XML dapat mencakup beberapa baris tanpa memerlukan karakter kelanjutan baris. Ini memungkinkan Anda untuk menyalin konten dari dokumen XML dan menempelkannya langsung ke program Visual Basic.

Ekspresi yang disematkan dari formulir <%= exp %> memungkinkan Anda menambahkan informasi dinamis ke literal elemen XML. Untuk informasi selengkapnya, lihat Ekspresi Tersemat dalam XML.

Kompiler Visual Basic mengonversi literal elemen XML menjadi panggilan ke konstruktor XElement dan, jika diperlukan, konstruktor XAttribute.

Namespace XML

Prefiks namespace XML berguna ketika Anda harus membuat literal XML dengan elemen dari namespace yang sama berkali-kali dalam kode. Anda dapat menggunakan prefiks namespace XML global, yang Anda tentukan dengan menggunakan pernyataan Imports, atau prefiks lokal, yang Anda tentukan dengan menggunakan sintaks atribut xmlns:xmlPrefix="xmlNamespace". Untuk informasi selengkapnya, lihat Pernyataan Impor (Namespace XML).

Sesuai dengan aturan pelingkupan untuk kumpulan nama XML, prefiks lokal lebih diutamakan daripada prefiks global. Namun, jika literal XML mendefinisikan kumpulan nama XML, kumpulan nama XML tersebut tidak tersedia untuk ekspresi yang muncul dalam ekspresi yang disematkan. Ekspresi yang disematkan hanya dapat mengakses kumpulan nama XML global.

Kompiler Visual Basic mengubah setiap kumpulan nama XML global yang digunakan oleh literal XML menjadi definisi kumpulan nama XML lokal dalam kode yang dihasilkan. Kumpulan nama XML global yang tidak digunakan tidak muncul dalam kode yang dihasilkan.

Contoh 1

Contoh berikut menunjukkan cara membuat elemen XML sederhana yang memiliki dua elemen kosong bersarang.

Dim test1 As XElement = 
<outer>
    <inner1></inner1>
    <inner2/>
</outer>

Console.WriteLine(test1)

Contoh menampilkan teks berikut. Perhatikan bahwa literal mempertahankan struktur elemen kosong.

<outer>
  <inner1></inner1>
  <inner2 />
</outer>

Contoh 2

Contoh berikut menunjukkan cara menggunakan ekspresi tertanam untuk memberi nama elemen dan membuat atribut.

Dim elementType = "book"
Dim authorName = "My Author"
Dim attributeName1 = "year"
Dim attributeValue1 = 1999
Dim attributeName2 = "title"
Dim attributeValue2 = "My Book"

Dim book As XElement = 
<<%= elementType %>
    isbn="1234"
    author=<%= authorName %>
    <%= attributeName1 %>=<%= attributeValue1 %>
    <%= New XAttribute(attributeName2, attributeValue2) %>
/>

Console.WriteLine(book)

Kode ini menampilkan teks berikut:

<book isbn="1234" author="My Author" year="1999" title="My Book" />

Contoh 3

Contoh berikut mendeklarasikan ns sebagai awalan namespace XML. Kemudian menggunakan prefiks namespace untuk membuat literal XML dan menampilkan bentuk akhir elemen.

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">

Class TestClass1

    Shared Sub TestPrefix()
        ' Create test using a global XML namespace prefix. 
        Dim inner2 = <ns:inner2/>

        Dim test = 
        <ns:outer>
            <ns:middle xmlns:ns="http://NewNamespace">
                <ns:inner1/>
                <%= inner2 %>
            </ns:middle>
        </ns:outer>

        ' Display test to see its final form. 
        Console.WriteLine(test)
    End Sub

End Class

Kode ini menampilkan teks berikut:

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Perhatikan bahwa kompiler mengubah prefiks namespace XML global menjadi definisi prefiks untuk namespace XML. Elemen <ns:middle> menentukan ulang prefiks namespace XML untuk elemen <ns:inner1>. Namun, elemen <ns:inner2> menggunakan namespace yang ditentukan oleh pernyataan Imports.

Lihat juga