XML Anwendungen
- Vorherige Seite AJAX-Datenbank
- Nächste Seite AJAX Beispiel
Dieses Kapitel zeigt die Verwendung von XML, HTTP, DOM und JavaScript in einer HTML-Anwendung.
verwendete XML-Dokument
In diesem Kapitel verwenden wir den Namen "music_list.xmldes XML-Dokuments "
XML-Daten in einer HTML-Tabelle anzeigen
Dieses Beispiel durchläuft jeden <TRACK>-Element und zeigt die Werte der <ARTIST>- und <TITLE>-Elemente in einer HTML-Tabelle an:
Beispiel
<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>
Für mehr Informationen zur Verwendung von JavaScript und XML DOM besuchen Sie DOM-Übersicht.
Zeige das erste Lied im HTML-div-Element an
In diesem Beispiel wird eine Funktion verwendet, um das erste Lied im HTML-Element mit der id="displayMUSIC" anzuzeigen:
Beispiel
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>Künstler: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Land: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Unternehmen: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Jahr: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
Navigieren zwischen Titeln
Um zwischen den Titeln in dem obigen Beispiel zu navigieren, fügen Sie die Funktionen next() und previous() hinzu:
Beispiel
function next() { // Zeige das nächste Lied, es sei denn, man ist bereits beim letzten if (i < x.length-1) { i++; displayMUSIC(i); } } function previous() { // Zeige das vorherige Lied, es sei denn, man ist bereits beim ersten if (i > 0) { i--; displayMUSIC(i); } }
Albuminformationen beim Klicken auf ein Lied anzeigen
Dieser letzte Beispiel zeigt, wie man die Informationen eines Albums anzeigt, wenn der Benutzer auf ein Lied klickt:
Beispiel
function displayMUSIC(i) { document.getElementById("showMUSIC").innerHTML = "<ul>" + "<li>曲目:" + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li>Künstler: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Land: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Unternehmen: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Jahr: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- Vorherige Seite AJAX-Datenbank
- Nächste Seite AJAX Beispiel