Mengakses Node XML DOM

Dengan DOM, Anda dapat mengakses setiap node di dalam dokumen XML.

Contoh

Contoh di bawah ini menggunakan berkas XML books.xml.

Fungsi loadXMLDoc()yang berada di luar JavaScript, untuk memuat berkas XML.

Mengakses node melalui indeks di dalam daftar node
Dalam contoh ini, metode getElementsByTagname() digunakan untuk mendapatkan elemen <title> yang ketiga di dalam "books.xml".
Mengelilingi node menggunakan properti length
Dalam contoh ini, properti length digunakan untuk mengelilingi semua elemen <title> di dalam "books.xml".
Melihat tipe node elemen
Dalam contoh ini, properti nodeType digunakan untuk mendapatkan tipe node root di dalam "books.xml".
Mengelilingi elemen
Dalam contoh ini, properti nodeType digunakan untuk menangani elemen di dalam "books.xml".
Mengelilingi elemen menggunakan hubungan node
Dalam contoh ini, properti nodeType dan properti nextSibling digunakan untuk menangani elemen di dalam "books.xml".

Pengaksesan node

Anda dapat mengakses node dengan tiga metode:

  1. dengan menggunakan metode getElementsByTagName()
  2. dengan mengelilingi (menggali) pohon node
  3. dengan memanfaatkan hubungan antar node untuk navigasi di dalam pohon node

metode getElementsByTagName()

getElementsByTagName() mengembalikan semua elemen yang memiliki nama tag yang ditentukan.

bahasa

node.getElementsByTagName("tagname");

Contoh

Contoh di bawah ini mengembalikan semua elemen <title> di bawah elemen x:

x.getElementsByTagName("title");

Perhatikan, contoh di atas hanya mengembalikan elemen <title> di bawah node x. Untuk mengembalikan semua elemen <title> di dalam dokumen XML, gunakan:

xmlDoc.getElementsByTagName("title");

Di sini, xmlDoc adalah dokumen itu sendiri (node dokumen).

Daftar Node DOM

metode getElementsByTagName() untuk kembalikan daftar node (daftar node). Daftar node adalah daftar node.

Kode di bawah ini menggunakan loadXMLDoc() Tetapkan "books.xml"Muat xmlDoc ke, dan simpan daftar node <title> dalam variabel x:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

Dapat diakses melalui indeks di x. Untuk mengakses elemen <title> ketiga, Anda dapat menulis:

y=x[2];

TIY

Keterangan:Indeks dimulai dari 0.

Di bagian yang akan datang dari tutorial ini, Anda akan belajar lebih banyak tentang Daftar Node.

Panjang Daftar Node DOM

Properti length menentukan panjang daftar node (yaitu jumlah node).

Anda dapat mengulangi daftar node dengan menggunakan properti length:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");
for (i=0;i<x.length;i++)
  { 
  document.write(x[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Contoh penjelasan:

  1. Dengan menggunakan loadXMLDoc() Tetapkan "books.xml"Muat xmlDoc
  2. Dapatkan semua elemen <title>.
  3. Output nilai node teks untuk setiap elemen <title>.

TIY

Tipe Node

Dokumen XML documentElement Atribut adalah node akar.

Atribut node adalah nodeName Atribut adalah nama node.

Atribut node adalah nodeType Atribut adalah jenis node.

Anda akan belajar lebih banyak tentang atribut node di bagian berikutnya dari tutorial ini.

TIY

Mengelilingi node

Kode di bawah ini mengulangi node anak akar yang juga elemen:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{ 
  jika (x[i].nodeType==1)
  {//Proses hanya node elemen (type 1) 
  document.write(x[i].nodeName);
  document.write("<br />");
  } 
}

Contoh penjelasan:

  1. Dengan menggunakan loadXMLDoc() Tetapkan "books.xml"Muat ke xmlDoc"
  2. Dapatkan node anak elemen akar.
  3. Periksa jenis node setiap node anak.
  4. Jika node adalah node elemen, tampilkan nama node

TIY

Navigasi dengan hubungan node

Kode di bawah ini melalui penggunaan hubungan node untuk navigasi di pohon node:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].childNodes;
y=xmlDoc.getElementsByTagName("book")[0].firstChild;
for (i=0;i<x.length;i++)
{
if (y.nodeType==1)
  {//Proses hanya node elemen (type 1)
  document.write(y.nodeName + "<br />");
  }
y=y.nextSibling;
}
  1. Dengan menggunakan loadXMLDoc() Tetapkan "books.xml"Muat ke xmlDoc"
  2. Dapatkan anak pertama elemen pertama "book"
  3. Tetapkan variabel "y" ke anak pertama elemen pertama "book"
  4. Periksa jenis node setiap node anak, jika jenis node adalah "1", maka adalah node elemen
  5. Jika node adalah node elemen, tampilkan nama node
  6. Tetapkan variabel "y" ke node kembar berikutnya, dan jalankan perulangan lagi

TIY