Mengurai XML DOM
- Hal Sebelumnya Pohon Node DOM
- Hal Berikutnya Pemuat DOM
Sebagian besar browser mempunyai parser XML yang bawaan untuk membaca dan mengoperasikan XML.
Parser mengkonversi XML menjadi objek yang dapat diakses JavaScript.
Contoh
Contoh yang disediakan CodeW3C.com bebas browser dan platform. Contoh ini dapat dijalankan di semua browser modern.
Memproses XML
Seluruh browser modern mempunyai parser XML yang bawaan untuk membaca dan mengoperasikan XML.
Parser membaca XML ke memori dan mengkonversikannya menjadi objek DOM XML yang dapat diakses oleh JavaScript.
Parser XML Microsoft berbeda dengan parser di browser lain. Parser Microsoft mendukung pemuat XML berkas dan string XML (teks), sementara browser lain menggunakan parser yang terpisah. Meski demikian, semua parser mengandung fungsi untuk mengelilingi pohon XML, mengakses, memasukkan, dan menghapus nod.
Dalam tutorial ini, kami akan menjelaskan bagaimana cara membuat skrip yang dapat berjalan di IE dan browser lainnya.
Memuat XML melalui parser XML Microsoft
Parser XML Microsoft terdapat secara bawaan di Internet Explorer 5 dan versi yang lebih tinggi.
Kode JavaScript berikut memuat dokumen XML ("books.xml) Memuat parser:
xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.load("books.xml");
Pengertian kode:
- Baris pertama membuat objek dokumen XML Microsoft kosong.
- baris kedua menutup pemuatan asinkron, sehingga parser tidak akan melanjutkan eksekusi skrip sampai dokumen sepenuhnya dimuat
- baris ketiga memberitahu parser untuk memuat dokumen bernama "books.xml"
Kode JavaScript berikut memuat string bernama txt ke parser:
xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(txt);
Keterangan:loadXML() Metode digunakan untuk memuat string (teks), sedangkan load() Untuk memuat berkas.
parser XML di Firefox dan browser lainnya
Kode JavaScript berikut memuat dokumen XML ("books.xml) Memuat parser:
xmlDoc=document.implementation.createDocument("","",null); xmlDoc.async="false"; xmlDoc.load("books.xml");
Pengertian kode:
- baris pertama membuat objek dokumen XML kosong
- baris kedua menutup pemuatan asinkron, sehingga parser tidak akan melanjutkan eksekusi skrip sampai dokumen sepenuhnya dimuat
- baris ketiga memberitahu parser untuk memuat dokumen bernama "books.xml"
Kode JavaScript berikut memuat string bernama txt ke parser:
parser=new DOMParser(); xmlDoc=parser.parseFromString(txt,"text/xml");
Pengertian kode:
- baris pertama membuat objek dokumen XML kosong
- baris kedua memberitahu parser untuk memuat string bernama txt
Keterangan:Internet Explorer menggunakan loadXML() metode untuk mengurai string XML, sementara browser lain menggunakan DOMParser objek.
Penguraian berkas XML - Sebuah contoh yang bebas browser
Contoh berikut mengurai dokumen XML ("books.xml) Memuat parser XML:
<html> <body> <script type="text/javascript"> try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); } catch(e) { try //Firefox, Mozilla, Opera, dll. { xmlDoc=document.implementation.createDocument("","",null); } catch(e) {alert(e.message)} } try { xmlDoc.async=false; xmlDoc.load("books.xml"); document.write("xmlDoc is loaded, ready for use"); } catch(e) {alert(e.message)} </script> </body> </html>
Error: Akses Antar Domain
Karena alasan keamanan, browser modern saat ini tidak mengijinkan akses antar domain.
Artinya, halaman web serta berkas XML yang diusaha dimuat harus berada di server yang sama.
Berkas XML yang dibuka di contoh CodeW3C.com berada di domain CodeW3C.com.
Jika Anda ingin menggunakan contoh di atas di halaman web Anda sendiri, Anda harus menempatkan berkas XML di server Anda sendiri. Jika tidak, xmlDoc.load() akan menghasilkan kesalahan "Akses ditolak".
Penguraian string XML - Sebuah contoh yang bebas browser
Kode berikut memuat dan mengurai sebuah string XML:
<html> <body> <script type="text/javascript"> text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(text); } catch(e) { try //Firefox, Mozilla, Opera, dll. { parser=new DOMParser(); xmlDoc=parser.parseFromString(text,"text/xml"); } catch(e) {alert(e.message)} } document.write("xmlDoc is loaded, ready for use"); </script> </body> </html>
Keterangan:Internet Explorer menggunakan metode loadXML() untuk mengurai string XML, sementara peramban lain menggunakan Objek DOMParser.
- Hal Sebelumnya Pohon Node DOM
- Hal Berikutnya Pemuat DOM