Dengan DOM, Anda dapat mengakses setiap node dalam dokumen XML.
Coba Sendiri - Contoh
Contoh di bawah ini menggunakan file XML books.xml .
Mengakses node menggunakan nomor indeks dalam daftar node
Gunakan getElementsByTagName() metode untuk mendapatkan yang ketiga <title> elemen dalam "books.xml"
Loop melalui node menggunakan properti panjang
Menggunakan properti panjang untuk loop melalui semua <title> elemen dalam "books.xml"
Melihat jenis node elemen
Gunakan properti NodeType untuk mendapatkan jenis node elemen root di "books.xml" .
Loop melalui node elemen
Gunakan properti NodeType hanya proses node elemen dalam "books.xml" .
Loop melalui node elemen menggunakan hubungan simpul
Menggunakan properti NodeType dan properti nextSibling untuk memproses node elemen dalam "books.xml" .
mengakses Nodes
Anda dapat mengakses node dalam tiga cara:
1. Dengan menggunakan getElementsByTagName() metode
2. Dengan perulangan melalui (traversing) pohon node.
3. Dengan navigasi pohon simpul, menggunakan hubungan simpul.
The getElementsByTagName() Metode
Buka menu () mengembalikan semua elemen dengan nama tag tertentu.
Sintaksis
node.getElementsByTagName("tagname");
Contoh
Contoh berikut mengembalikan semua <title> elemen di bawah x elemen:
x.getElementsByTagName("title");
Perhatikan bahwa contoh di atas hanya kembali <title> elemen di bawah x simpul. Untuk mengembalikan semua <title> elemen dalam penggunaan dokumen XML:
xmlDoc.getElementsByTagName("title");
mana xmlDoc adalah dokumen itu sendiri (document node) .
DOM Node Daftar
The getElementsByTagName() metode mengembalikan daftar simpul. Sebuah daftar node adalah array dari node.
x = xmlDoc.getElementsByTagName("title");
The <title> elemen dalam x dapat diakses oleh sejumlah indeks. Untuk mengakses ketiga <title> Anda dapat menulis ::
y = x[2];
Note: Indeks dimulai dari 0.
Anda akan belajar lebih banyak tentang daftar node dalam bab selanjutnya dari tutorial ini.
DOM Node Daftar Panjang
Properti panjang mendefinisikan panjang dari daftar node (the number of nodes) .
Anda dapat loop melalui daftar node dengan menggunakan properti panjang:
Contoh
var
x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
//
do something for each node
}
Cobalah sendiri " Jenis Node
The documentElement properti dari dokumen XML adalah simpul akar.
The nodeName properti dari sebuah node adalah nama dari node.
The nodeType properti dari sebuah node adalah jenis node.
Anda akan belajar lebih banyak tentang sifat-sifat node dalam bab berikutnya dari tutorial ini.
melintasi Nodes
Kode berikut loop melalui node anak, yang juga node elemen, dari simpul akar:
Contoh
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++)
{
// Process only element nodes (type 1)
if (x[i].nodeType == 1) {
txt += x[i].nodeName + "<br>";
}
}
Cobalah sendiri " Contoh menjelaskan:
- Misalkan Anda telah dimuat " books.xml " ke xmlDoc
- Dapatkan node anak dari elemen root (xmlDoc)
- Untuk setiap node anak, periksa jenis node. Jika jenis node "1" itu adalah simpul elemen
- Output nama node jika node elemen
Menjelajahi Node Hubungan
Kode berikut menavigasi pohon simpul menggunakan hubungan simpul:
Contoh
x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++)
{
// Process only element nodes (type 1)
if (y.nodeType == 1) {
txt += y.nodeName + "<br>";
}
y = y.nextSibling;
}
Cobalah sendiri " Contoh menjelaskan:
- Misalkan Anda telah dimuat " books.xml " ke xmlDoc
- Dapatkan node anak dari elemen buku pertama
- Mengatur "y" variabel menjadi simpul anak pertama dari elemen buku pertama
- Untuk setiap node anak (starting with the first child node "y") :
- Periksa jenis simpul. Jika jenis node "1" itu adalah simpul elemen
- Output nama node jika node elemen
- Mengatur "y" variabel menjadi saudara node berikutnya, dan dijalankan melalui loop lagi