Applicazioni XML
- Pagina precedente Database AJAX
- Pagina successiva Esempio AJAX
Questa sezione dimostra un'applicazione HTML utilizzando XML, HTTP, DOM e JavaScript.
documento XML utilizzato
In questa sezione, utilizzeremo il documento XML chiamato "music_list.xml" del file XML.
Visualizza dati XML nella tabella HTML
Questo esempio esplora ogni elemento <TRACK>, quindi visualizza i valori degli elementi <ARTIST> e <TITLE> nella tabella HTML:
Esempio
<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>Artista</th><th>Traccia</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>
Per ulteriori informazioni sull'uso di JavaScript e XML DOM, visitare Introduzione a DOM.
Mostrare la prima canzone nell'elemento HTML div
In questo esempio, viene utilizzata una funzione per mostrare la prima canzone nell'elemento HTML con id="displayMUSIC":
Esempio
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>Traccia: " + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li>Artista: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Nazione: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Compagnia: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Annio: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
Navigazione tra le tracce
Per navigare tra le tracce nell'esempio precedente, aggiungi le funzioni next() e previous():
Esempio
function next() { // Mostra la prossima canzone, a meno di essere arrivati all'ultima if (i < x.length-1) { i++; displayMUSIC(i); } } function previous() { // Mostra la canzone precedente, a meno di essere arrivati alla prima if (i > 0) { i--; displayMUSIC(i); } }
Mostrare le informazioni dell'album durante il clic sulla canzone
Questo ultimo esempio dimostra come mostrare le informazioni dell'album quando l'utente clicca su una canzone:
Esempio
function displayMUSIC(i) { document.getElementById("showMUSIC").innerHTML = "<ul>" + "<li>Traccia: " + x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue + "</li>" + "<li>Artista: " + x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue + "</li>" + "<li>Album: " + x[i].getElementsByTagName("ALBUM")[0].childNodes[0].nodeValue + "</li>" + "<li>Nazione: " + x[i].getElementsByTagName("COUNTRY")[0].childNodes[0].nodeValue + "</li>" + "<li>Compagnia: " + x[i].getElementsByTagName("COMPANY")[0].childNodes[0].nodeValue + "</li>" + "<li>Annio: " + x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue + "</li>" + "</ul>"; }
- Pagina precedente Database AJAX
- Pagina successiva Esempio AJAX