XML Додатки
У цьому розділі демонструються деякі HTML додатки, що використовують XML, HTTP, DOM і JavaScript.
Використання XML-документа
У цьому розділі ми будемо використовувати файл XML під назвою "cd_catalog.xml".
Відображення даних XML у таблиці HTML
Цей приклад циклічно переглядає кожен <CD> і відображає значення елемента <ARTIST> і <TITLE> елементів у таблиці HTML:
Приклад
<table id="demo"></table>
<script>
function loadXMLDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
const xmlDoc = xhttp.responseXML;
const cd = xmlDoc.getElementsByTagName("CD");
myFunction(cd);
}
xhttp.open("GET", "cd_catalog.xml");
xhttp.send();
}
function myFunction(cd) {
let table="<tr><th>Artist</th><th>Title</th></tr>";
for (let i = 0; i < cd.length; i++) {
table += "<tr><td>" +
cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
"</td><td>" +
cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
"</td></tr>";
}
document.getElementById("demo").innerHTML = table;
}
</script>
</body>
</html>
Спробуйте самі »
Додаткову інформацію про використання JavaScript і XML DOM дивіться в розділі DOM Інтро.
Відобразити перший компакт-диск в HTML елементі div
У цьому прикладі використовується функція для відображення першого елемента CD в HTML елементі з id="showCD":
Приклад
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
const xmlDoc = xhttp.responseXML;
const cd = xmlDoc.getElementsByTagName("CD");
myFunction(cd, 0);
}
xhttp.open("GET", "cd_catalog.xml");
xhttp.send();
function myFunction(cd, i) {
document.getElementById("showCD").innerHTML =
"Artist: " +
cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
"<br>Title: " +
cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
"<br>Year: " +
cd[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue;
}
Спробуйте самі »
Навігація між компакт-дисками
Для переходу між компакт-дисками у наведеному вище прикладі створіть функції next()
та previous()
:
Приклад
function next() {
// display the next CD, unless you are on the last CD
if (i < len-1) {
i++;
displayCD(i);
}
}
function previous() {
// display the previous CD, unless you are on the first CD
if (i > 0) {
i--;
displayCD(i);
}
}
Спробуйте самі »
Показувати інформацію про альбом під час натискання на CD
Останній приклад показує, як можна відобразити інформацію про альбом, коли користувач клацає CD:
Приклад
function displayCD(i) {
document.getElementById("showCD").innerHTML =
"Artist: " +
cd[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
"<br>Title: " +
cd[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
"<br>Year: " +
cd[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue;
}
Спробуйте самі »