Aplikasi XML
- Halaman Sebelumnya Database AJAX
- Halaman Berikutnya Contoh AJAX
Bab ini menunjukkan penggunaan aplikasi HTML yang menggunakan XML, HTTP, DOM serta JavaScript.
Dokumen XML yang digunakan
Dalam bab ini, kita akan menggunakan dokumen XML yang bernama "music_list.xml" berisi XML.
Menampilkan data XML di dalam tabel HTML
Pemrosesan ini melooping setiap elemen <TRACK> lalu menampilkan nilai elemen <ARTIST> dan <TITLE> di dalam tabel HTML:
Contoh
<html> <body> <table id="demo"></table> <script> function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xmlhttp.open("GET", "music_list.xml", true); xmlhttp.send(); } function myFunction(xml) { var i; var xmlDoc = xml.responseXML; var table="<tr><th>Artis</th><th>Track</th></tr>"; var x = xmlDoc.getElementsByTagName("TRACK"); for (i = 0; i <x.length; i++) { table += "<tr><td>" + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</td><td>" + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</td></tr>"; } document.getElementById("demo").innerHTML = table; } </script> </body> </html>
Untuk informasi lebih lanjut tentang penggunaan JavaScript dan XML DOM, silakan kunjungi Ringkasan DOM。
Tampilkan pertama lagu dalam elemen div HTML
Pada contoh ini, digunakan fungsi untuk menampilkan lagu pertama dalam elemen HTML dengan id="displayMUSIC":
Contoh
displayMUSIC(0); function displayMUSIC(i) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this, i); } }; xmlhttp.open("GET", "music_list.xml", true); xmlhttp.send(); } function myFunction(xml, i) { var xmlDoc = xml.responseXML; x = xmlDoc.getElementsByTagName("TRACK"); document.getElementById("showMUSIC").innerHTML = "<ul>" + "<li> Lagu: " + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li Artis: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li Negara: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Perusahaan: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Tahun: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
Bergerak antar lagu
Untuk berpindah antara lagu dalam hal ini, tambahkan fungsi next() dan previous():
Contoh
function next() { // Tampilkan lagu berikutnya, kecuali sudah mencapai lagu terakhir if (i < x.length-1) { i++; displayMUSIC(i); } } function previous() { // Tampilkan lagu sebelumnya, kecuali sudah mencapai lagu pertama if (i > 0) { i--; displayMUSIC(i); } }
Tampilkan informasi album saat mengeklik lagu
Pada contoh ini, ini menunjukkan bagaimana informasi album ditampilkan saat pengguna mengklik lagu:
Contoh
function displayMUSIC(i) { document.getElementById("showMUSIC").innerHTML = "<ul>" + "<li> Lagu: " + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li Artis: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li Negara: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Perusahaan: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Tahun: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- Halaman Sebelumnya Database AJAX
- Halaman Berikutnya Contoh AJAX