手册
目录
在本章中,我们将使用名为 "music_list.xml" 的 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 简介。
本例使用一个函数在 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);
}
}
运行实例 »点击 "运行实例" 按钮查看在线实例
最后这个例子演示当用户点击某一首歌曲时如何显示专辑信息:
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>";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.3万人学习
共49课时
77.4万人学习
共29课时
62万人学习
共25课时
39.5万人学习
共43课时
71.3万人学习
共25课时
61.9万人学习
共22课时
23.1万人学习
共28课时
34.1万人学习
共89课时
125.8万人学习