Gli ultimi tutorial di sviluppo web
 

XML applicazioni


Questo capitolo illustra alcune applicazioni HTML usando XML, HTTP, DOM e JavaScript.


Il documento XML Usato

In questo capitolo useremo il file XML denominato "cd_catalog.xml" .


Visualizzazione dati XML in una tabella HTML

Questo esempio scorre ogni <CD> elemento, e visualizzare i valori del <ARTIST> e il <TITLE> elementi in una tabella HTML:

Esempio

<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
  border-collapse:collapse;
}
th, td {
  padding: 5px;
}
</style>
</head>
<body>

<table id="demo"></table>

<script>
function loadXMLDoc() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      myFunction(xmlhttp);
    }
  };
  xmlhttp.open("GET", "cd_catalog.xml", true);
  xmlhttp.send();
}
function myFunction(xml) {
  var i;
  var xmlDoc = xml.responseXML;
  var table="<tr><th>Artist</th><th>Title</th></tr>";
  var x = xmlDoc.getElementsByTagName("CD");
  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>
Prova tu stesso "

Per ulteriori informazioni su come utilizzare JavaScript e il DOM XML, andare al DOM Intro.


Visualizzare il primo CD in un div elemento HTML

Ths esempio utilizza una funzione per visualizzare il primo elemento del CD in un elemento HTML con id = "showCD":

Esempio

displayCD(0);

function displayCD(i) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            myFunction(xmlhttp, i);
        }
    };
    xmlhttp.open("GET", "cd_catalog.xml", true);
    xmlhttp.send();
}

function myFunction(xml, i) {
    var xmlDoc = xml.responseXML;
    x = xmlDoc.getElementsByTagName("CD");
    document.getElementById("showCD").innerHTML =
    "Artist: " +
    x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue +
    "<br>Title: " +
    x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
    "<br>Year: " +
    x[i].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue;
}
Prova tu stesso "

Spostarsi tra i CD

Per navigare tra i CD, nell'esempio di cui sopra, aggiungere un next() e previous() la funzione:

Esempio

function next() {
  // display the next CD, unless you are on the last CD
  if (i < x.length-1) {
    i++;
    displayCD(i);
  }
}

function previous() {
  // display the previous CD, unless you are on the first CD
  if (i > 0) {
  i--;
  displayCD(i);
  }
}
Prova tu stesso "

Visualizza informazioni album quando si clicca su un CD

L'ultimo esempio mostra come è possibile visualizzare le informazioni album quando l'utente fa clic su un CD:

Provate voi stessi .