XML โปรแกรม
- หน้าก่อน ฐานข้อมูล AJAX
- หน้าต่อไป AJAX ตัวอย่าง
บทนี้แสดงการใช้ XML, HTTP, DOM และ JavaScript ในโปรแกรม HTML
XML ที่ใช้
ในบทนี้เราจะใช้ XML ที่มีชื่อว่า "music_list.xml" ของ XML。
แสดงข้อมูล XML ในตาราง HTML
ตัวอย่างนี้เลือกและแสดงค่าของประกาย <TRACK> ในตาราง HTML ของ <ARTIST> และ <TITLE> ดังนี้:
ตัวอย่าง
<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>นักแสดง</th><th>เพลง</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>
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ JavaScript และ XML DOM โปรดเข้าชม: แนะนำระบบ DOM。
แสดงเพลงแรกในองค์ประกอบ HTML div
ตัวอย่างนี้ใช้ฟังก์ชันเพื่อแสดงเพลงแรกในองค์ประกอบ HTML ที่มี id="displayMUSIC":
ตัวอย่าง
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>เพลง:" x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" "<li>ศิลปิน:" + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>อัลบั้ม:" + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>ประเทศ:" + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>บริษัท:" + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>ปี:" + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
เลื่อนไปยังเพลงต่อไป
เพื่อเลื่อนไปยังเพลงต่อไปในตัวอย่างดังกล่าว โปรดเพิ่มฟังก์ชัน next() และ previous():
ตัวอย่าง
function next() { // แสดงเพลงต่อไป หากยังไม่ได้ถึงเพลงสุดท้าย if (i < x.length-1) { i++; displayMUSIC(i); } } function previous() { // แสดงเพลงก่อนหน้านี้ หากยังไม่ได้ถึงเพลงแรก if (i > 0) { i--; displayMUSIC(i); } }
แสดงข้อมูลอัลบั้มเมื่อคลิกเพลง
ตัวอย่างนี้แสดงวิธีการแสดงข้อมูลอัลบั้มเมื่อผู้ใช้คลิกเพลงหนึ่ง:
ตัวอย่าง
function displayMUSIC(i) { document.getElementById("showMUSIC").innerHTML = "<ul>" "<li>เพลง:" x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" "<li>ศิลปิน:" + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>อัลบั้ม:" + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>ประเทศ:" + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>บริษัท:" + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>ปี:" + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- หน้าก่อน ฐานข้อมูล AJAX
- หน้าต่อไป AJAX ตัวอย่าง