Pencarian Node XML DOM
- Halaman sebelumnya Pelayar DOM
- Halaman berikutnya DOM dapatkan nod
Node dapat ditentukan melalui hubungan antar node.
Contoh
Contoh di bawah ini menggunakan file XML books.xml.
Fungsi loadXMLDoc()yang berada di JavaScript eksternal, digunakan untuk memuat file XML.
- Mendapatkan parent node node
- Contoh ini menggunakan properti parentNode untuk mendapatkan nod induk nod.
- ambil anak pertama nod
- Contoh ini menggunakan metode firstChild() dan fungsi yang disusun untuk mendapatkan anak pertama dari nod.
menempatkan DOM nod
Mengakses nod di dalam pohon nod melalui hubungan antar nod, biasanya disebut menempatkan nod ("navigating nodes").
Dalam XML DOM, hubungan nod ditentukan oleh properti nod:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
Gambar di bawah ini menunjukkan books.xml bagian dari pohon nod dan menjelaskan hubungan antar nod:

DOM - nod induk
Semua nod hanya mempunyai satu nod induk. Kod di bawah ini menempatkan ke nod induk <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; document.write(x.parentNode.nodeName);
Pengertian contoh:
- Dengan menggunakan loadXMLDoc() Buat "books.xmldihantar ke xmlDoc
- ambil elemen <book> pertama
- Output nama nod induk untuk "x"
hindari nod teks kosong
Firefox, dan beberapa pelayar lain, menganggap spasi kosong dan garis miring kosong sebagai nod teks, manakala IE tidak melakukan demikian.
Ini akan menyebabkan masalah saat digunakan properti berikut: firstChild, lastChild, nextSibling, previousSibling.
Untuk menghindari lokasi ke nod teks kosong (spasi dan simbol garis miring di antara nod element), kita menggunakan fungsi untuk memeriksa jenis nod:
function get_nextSibling(n) { y=n.nextSibling; while (y.nodeType!=1) { y=y.nextSibling; } return y; }
Dengan fungsi di atas, kita boleh gunakan get_nextSibling(node) untuk menggantikan properti node.nextSibling.
Pengertian kod:
Jenis nod elemen adalah 1. Jika nod yang sama bukan nod element, pindahkan kepada nod berikutnya sehingga mendapatkan nod element. Dengan cara ini, di IE dan Firefox, dapatkan hasil yang sama.
ambil elemen pertama
Kod di bawah ini menunjukkan elemen pertama <book> yang pertama:
<html> <head> <script type="text/javascript" src="loadxmldoc.js"> </script> <script type="text/javascript"> //semak jika nod pertama adalah nod element function get_firstChild(n) { y=n.firstChild; while (y.nodeType!=1) { y=y.nextSibling; } return y; } </script> </head> <body> <script type="text/javascript"> xmlDoc=loadXMLDoc("books.xml"); x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]); document.write(x.nodeName); </script> </body> </html>
Output:
title
Pengertian contoh:
- Dengan menggunakan loadXMLDoc() Buat "books.xml" memuatkan dalam xmlDoc"
- Gunakan fungsi get_firstChild di atas <book> pertama untuk mendapatkan anak pertama dalam nod elemen
- Output nama nod anak pertama (nod elemen)
Contoh
Contoh di bawah ini menggunakan fungsi yang serupa:
- Halaman sebelumnya Pelayar DOM
- Halaman berikutnya DOM dapatkan nod