XML DOM - simpul navigasi
Node dapat menavigasi dengan menggunakan hubungan antara node.
Navigasi DOM simpul
Hubungan antara node akses oleh simpul simpul di pohon, yang biasa disebut sebagai navigasi simpul ( "navigasi node").
Dalam DOM XML, hubungan antara node didefinisikan sebagai milik node:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
Gambar berikut menunjukkan books.xml bagian dari node dari pohon, dan menggambarkan hubungan antara node:
DOM - orang tua
Semua node hanya memiliki satu orangtua. Kode berikut untuk menavigasi ke <buku> adalah node induk:
contoh
x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);
Coba »
Contoh menjelaskan:
- Gunakan loadXMLDoc () untuk " yang Books.xml " ke xmlDoc
- Dapatkan pertama <buku> elemen
- Nama node output "x" simpul orangtua
Hindari node teks kosong
Firefox dan lainnya browser, kosong, kosong atau baris sebagai node teks, sementara Internet Explorer tidak akan melakukannya.
Ini akan menggunakan atribut berikut: firstChild, lastChild, nextSibling, previousSibling ketika masalah timbul.
Untuk menghindari navigasi ke node teks kosong (node elemen antara ruang dan jeda baris), kita menggunakan fungsi yang memeriksa jenis node:
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
Fungsi di atas memungkinkan Anda untuk menggunakanget_nextSibling(node) bukan propertinode .nextSibling.
Kode penjelasan:
Tipe 1 adalah elemen node. Jika node saudara bukan merupakan simpul elemen, bergerak ke node berikutnya, sampai Anda menemukan node elemen sejauh ini. Dengan cara ini, di Internet Explorer dan Firefox, Anda bisa mendapatkan hasil yang sama.
Menjadi anak pertama
Kode berikut menunjukkan pertama <buku> adalah elemen pertama:
contoh
<head>
<script src="loadxmldoc.js">
</script>
<script>
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");
x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>
Output:
Coba »
Contoh menjelaskan:
- Gunakan loadXMLDoc () untuk " yang Books.xml " ke xmlDoc
- Gunakan fungsi get_firstChild pada unsur-unsur dalam pertama <buku>, untuk mendapatkan node anak pertama (elemen milik node)
- Output dari node anak pertama (elemen milik node) nama node
contoh yang lebih
lastChild ()
Contoh ini menggunakan metode lastChild () dan fungsi kustom untuk mendapatkan node anak terakhir
nextSibling ()
Contoh ini menggunakan metode nextSibling () dan simpul saudara berikutnya fungsi kustom untuk mendapatkan node
previousSibling ()
Contoh ini menggunakan previousSibling () metode dan fungsi kustom untuk mendapatkan simpul saudara simpul