Perbezaan Peminta XML DOM
- Halaman sebelumnya Pemergian nod DOM
- Halaman berikutnya Pengesanan nod DOM
Browser yang berbeda menangani node teks kosong di DOM XML dengan cara yang berbeda.
Contoh
Contoh di bawah ini menggunakan berkas XML books.xml.
Fungsi loadXMLDoc()yang berada di JavaScript eksternal, untuk memuat berkas XML.
- Tampilkan panjang daftar node
- Contoh menampilkan panjang daftar node
- abaikan nod teks kosong antara nod
- Contoh ini memeriksa nodeType, dan hanya menangani node elemen.
Perbedaan browser dalam pemrosesan DOM
Seluruh browser modern mendukung spesifikasi W3C DOM.
Namun, ada perbedaan di antara browser. Perbedaan penting adalah dua:
- Cara memuat XML
- Cara menangani kosong dan baris baru
dalam “Mengurai XML DOM” Ini bagian, sudah dijelaskan tentang cara memuat XML
Dalam bagian ini, kita akan mengelaskan cara menangani kosong dan baris baru
DOM - Kosong dan Baris Baru
XML sering mengandung baris kosong atau karakter spacing di antara node. Ini adalah situasi yang sering muncul saat menggunakan editor sederhana (seperti Notepad).
Contoh di bawah ini (diedit dalam Notepad) mengandung CR/LF di antara setiap baris, dan dua spasi di depan setiap sub-nodus:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Firefox, serta beberapa pelayar lain, akan menganggap ruang kosong atau baris baru sebagai node teks, sementara Internet Explorer tidak begitu.
Kod petikan di bawah ini menunjukkan berapa banyak anak nod yang dimiliki oleh elemen akar (books.xml):
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; document.write("Bilangan anak nod: " + x.length);
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat "books.xml" dimuat ke xmlDoc
- Dapatkan anak nod elemen akar
- Output bilangan anak nod
Hasil bergantung kepada pelayar yang digunakan. Firefox mengeluarkan 9, sementara IE mengeluarkan 4.
abaikan nod teks kosong antara nod
Untuk mengabaikan nod teks kosong antara nod elemen, periksa jenis nod. Jenis nod elemen adalah 1:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {// hanya memproses nod elemen document.write(x[i].nodeName); document.write("<br />"); } }
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat "books.xml" dimuat ke xmlDoc
- Dapatkan anak nod elemen akar
- Periksa jenis nod setiap anak nod. Jika jenis nod adalah "1", maka ia adalah nod elemen
- Halaman sebelumnya Pemergian nod DOM
- Halaman berikutnya Pengesanan nod DOM