Bagikan melalui


Literal Elemen XML (Visual Basic)

Harfiah yang mewakili XElement objek.

Sintaksis

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

Bagian

  • <

    Dibutuhkan. Membuka tag elemen awal.

  • name

    Dibutuhkan. Nama elemen . Formatnya adalah salah satu dari berikut ini:

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

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

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

  • attributeList

    Fakultatif. Daftar atribut yang dideklarasikan dalam harfiah.

    attribute [ attribute ... ]

    Masing-masing attribute memiliki salah satu sintaks berikut:

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

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

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

      - Teks literal, diapit dalam tanda kutip.
      - Ekspresi formulir <%= aValueExp %>yang disematkan . Jenis apa pun diperbolehkan.
    • Ekspresi formulir <%= aExp %>yang disematkan .

  • />

    Fakultatif. Menunjukkan bahwa elemen adalah elemen kosong, tanpa konten.

  • >

    Dibutuhkan. Mengakhiri tag elemen awal atau kosong.

  • elementContents

    Fakultatif. Konten elemen .

    content [ content ... ]

    Masing-masing content dapat berupa salah satu hal berikut:

  • </[name]>

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

Mengembalikan Nilai

Sebuah objekXElement.

Komentar

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

Nota

Literal XML dapat mencakup beberapa baris tanpa menggunakan karakter kelanjutan baris. Fitur ini memungkinkan Anda menyalin konten dari dokumen XML dan menempelkannya langsung ke program Visual Basic.

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

Pengkompilasi Visual Basic mengonversi elemen XML secara harfiah menjadi panggilan ke XElement konstruktor dan, jika diperlukan, XAttribute konstruktor.

Ruang Nama XML

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

Sesuai dengan aturan cakupan untuk namespace XML, awalan lokal lebih diutamakan daripada awalan global. Namun, jika XML literal menentukan namespace XML, namespace layanan tersebut tidak tersedia untuk ekspresi yang muncul dalam ekspresi yang disematkan. Ekspresi yang disematkan hanya dapat mengakses namespace XML global.

Pengkompilasi Visual Basic mengonversi setiap namespace XML global yang digunakan oleh XML literal menjadi satu definisi namespace lokal dalam kode yang dihasilkan. Namespace 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 berlapis.

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

Console.WriteLine(test1)

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

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

Contoh 2

Contoh berikut menunjukkan cara menggunakan ekspresi yang disematkan 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 awalan namespace layanan untuk membuat XML literal dan menampilkan formulir 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 pengkompilasi mengonversi awalan namespace XML global menjadi definisi awalan untuk namespace XML. Elemen <ns:middle> mendefinisikan ulang awalan namespace XML untuk <elemen ns:inner1> . Namun, <elemen ns:inner2> menggunakan namespace yang ditentukan oleh Imports pernyataan .

Lihat juga