Semua browser utama memiliki pengurai XML bawaan untuk mengakses dan memanipulasi XML.
Section Artikel
XML DOM (Document Object Model) mendefinisikan properti dan metode untuk mengakses dan mengedit XML.
Namun, sebelum dokumen XML dapat diakses dokumen itu harus dimuat ke dalam objek XML DOM.
Semua browser modern memiliki pengurai XML bawaan yang dapat mengubah teks menjadi objek XML DOM.
Contoh ini mengurai string teks menjadi objek XML DOM, dan mengekstrak info darinya dengan JavaScript:
Contoh :
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var parser, xmlDoc; var text = "<bookstore><book>" + "<title>Everyday Italian</title>" + "<author>Giada De Laurentiis</author>" + "<year>2005</year>" + "</book></bookstore>"; parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </script> </body> </html>
Penjelasan Kode
Sebuah string teks didefinisikan:
text = "<bookstore><book>" + "<title>Everyday Italian</title>" + "<author>Giada De Laurentiis</author>" + "<year>2005</year>" + "</book></bookstore>";
Pengurai XML DOM dibuat:
parser = new DOMParser();
Parser membuat objek XML DOM baru menggunakan string teks:
xmlDoc = parser.parseFromString(text,"text/xml");
Versi lama Internet Explorer (IE5, IE6, IE7, IE8) tidak mendukung objek DOMParser.
Untuk menangani versi Internet Explorer yang lebih lama, periksa apakah browser mendukung objek DOMParser atau buatlah ActiveXObject:
Contoh :
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var parser, xmlDoc; var text = "<bookstore><book>" + "<title>Everyday Italian</title>" + "<author>Giada De Laurentiis</author>" + "<year>2005</year>" + "</book></bookstore>"; if (window.DOMParser) { parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); } else { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.loadXML(text); } document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </script> </body> </html>
Objek XMLHttpRequest memiliki XML Parser bawaan.
Properti responseText mengembalikan respons sebagai string.
Properti responseXML mengembalikan respons sebagai objek XML DOM.
Jika kita ingin menggunakan respons sebagai objek XML DOM, kita bisa menggunakan properti responseXML.
Contoh
Minta file cd_catalog.xml dan gunakan respons sebagai objek XML DOM:
<!DOCTYPE html> <html> <body> <h2>My CD Collection:</h2> <button type="button" >length; i++) { txt += x[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt; } </script> </body> </html>