Ứng dụng XML
- Trang trước Cơ sở dữ liệu AJAX
- Trang tiếp theo Mô hình AJAX
Chương này minh họa việc sử dụng ứng dụng HTML sử dụng XML, HTTP, DOM và JavaScript.
tệp XML được sử dụng
Trong chương này, chúng ta sẽ sử dụng tên là "music_list.xmlcủa tệp XML.
Hiển thị dữ liệu XML trong bảng HTML
Bài mẫu này lặp qua mỗi yếu tố <TRACK> và sau đó hiển thị giá trị của yếu tố <ARTIST> và <TITLE> trong bảng HTML:
thực例
<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>
Để biết thêm thông tin về việc sử dụng JavaScript và XML DOM, hãy truy cập Giới thiệu về DOM。
Hiển thị bài hát đầu tiên trong phần tử div HTML
Ví dụ này sử dụng một hàm để hiển thị bài hát đầu tiên trong phần tử HTML có id="displayMUSIC":
thực例
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>Artist: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Country: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Company: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Year: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
Di chuyển giữa các bài hát
Để di chuyển giữa các bài hát trong ví dụ trên, hãy thêm các hàm next() và previous():
thực例
function next() { // Hiển thị bài hát tiếp theo, trừ khi đã đến bài hát cuối cùng if (i < x.length-1) { i++; displayMUSIC(i); } } function previous() { // Hiển thị bài hát trước, trừ khi đã đến bài hát đầu tiên if (i > 0) { i--; displayMUSIC(i); } }
Hiển thị thông tin album khi nhấp vào bài hát
Cuối cùng, ví dụ này trình bày cách hiển thị thông tin album khi người dùng nhấp vào một bài hát:
thực例
function displayMUSIC(i) { document.getElementById("showMUSIC").innerHTML = "<ul>" + "<li>曲目:" + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li>Artist: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Country: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Company: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Year: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- Trang trước Cơ sở dữ liệu AJAX
- Trang tiếp theo Mô hình AJAX