AJAX XML Ó¦ÓóÌÐò
±¾ÕÂÑÝʾʹÓà XML¡¢HTTP¡¢DOM ÒÔ¼° JavaScript µÄ HTML Ó¦ÓóÌÐò¡£
ʹÓÃµÄ XML Îĵµ
ÔÚ±¾ÕÂÖУ¬ÎÒÃǽ«Ê¹ÓÃÃûΪ "music_list.xml" µÄ XML Îļþ¡£
ÔÚ HTML ±í¸ñÖÐÏÔʾ XML Êý¾Ý
±¾Àý±éÀúÿ¸ö <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 ÔªËØÖÐÏÔʾµÚÒ»Ê×Çú×Ó
±¾ÀýʹÓÃÒ»¸öº¯ÊýÔÚ id="displayMUSIC" µÄ HTML ÔªËØÖÐÏÔʾµÚÒ»Ê׸èÇú£º
ʵÀý
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);
}
}
ÔÚµã»÷¸èÇúʱÏÔʾר¼ÐÅÏ¢
×îºóÕâ¸öÀý×ÓÑÝʾµ±Óû§µã»÷ijһÊ׸èÇúʱÈçºÎÏÔʾר¼ÐÅÏ¢£º
ʵÀý
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>";
}