Ciao a tutti!
Dopo molto tempo sono tornato a smanettare e purtroppo mi si è accumulata un pò troppa ruggine...
Attualmente ho un problema che mi attenaglia da qualche giorno, ho la necessità di estrapolare dei dati da un file XML usando Javascript e ho trovato un esempio in rete ma non riesco a farlo funzionare, di seguito i codici:
index.html
data.xmlcodice:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>TABLE e XML con DOM</title> <script language="javascript" type="text/javascript"> /** * Script Javascript per la popolazione di una Tabella HTML * attraverso documento XML e funzioni DOM // Funzione per il caricamento del documento XML e passaggio alla funzione per la gestione dei risultati ottenuti function loadXML(url, handler) { /* * url = posizione del file XML da caricare * handler = nome della funzione da richiamare a caricamento documento XML eseguito */ // Determino se l'implementazione DOM Level 2 e' supportata if ( document.implementation && document.implementation.createDocument ) { // Creo il nuovo oggetto XML var xml = document.implementation.createDocument("", "", null); // Imposto l'evento onload del documento xml.onload = function() { handler(xml); } // Carico il file XML dall'URL passato alla funzione xml.load("data.xml"); } else if ( window.ActiveXObject ) { // Caso contrario, ricorro all'API proprietaria Microsoft per Browser IE // Creo il nuovo oggetto XML var xml = new ActiveXObject("Microsoft.XMLDOM"); // Imposto l'evento onload del documento xml.onreadystatechange = function() { if ( xml.readyState == 4 ) { handler(xml); } } // Carico il file XML dall'URL passatto alla funzione xml.load("data.xml"); } } // Funzione per la popolazione della tabella function popolaTabella(xml) { /** * xml = documento XML */ // Recupero la Tabella HTML var table = document.getElementById("t1"); // Recupero tutti gli elementi "utente" definiti all'interno del documento XML var utenti = xml.getElementsByTagName("utente"); // Ciclo attraverso tutti gli elementi e popolazione della tabella HTML for (var i = 0; i < utenti.length; i++) { // Recupero ogni singolo elemento "utente" del documento XML var e = utenti[i]; // Recupero i vari valori per ogni elemento "utente" var nominativo = e.getElementsByTagName("nominativo")[0].firstChild.data; var punteggio = e.getElementsByTagName("punteggio")[0].firstChild.data; // Creo ogni singolo riga della tabella HTML var row = table.insertRow(i + 1); // + 1 = Non considero la testata della tabella row.insertCell(0).appendChild(document.createTextNode(nominativo)); row.insertCell(1).appendChild(document.createTextNode(punteggio)); } } </script> </head> <body> <input type="button" value="carica dati" onclick="javascript:loadXML('data.xml', popolaTabella);" /> <table id="t1" border="1" width="50%"> <tr> <th width="80%"><b>Nominativo</b></th> <th width="20%"><b>Punteggio</b></th> </tr> </table> </body> </html>
Qualcuno mi riesce ad aiutare?codice:<?xml version="1.0"?><utenti> <utente> <nominativo>Paolino Paperino</nominativo> <punteggio>10</punteggio> </utente> <utente> <nominativo>Mickey Mouse</nominativo> <punteggio>8</punteggio> </utente> <utente> <nominativo>Paperoga</nominativo> <punteggio>5</punteggio> </utente> <utente> <nominativo>Gastone</nominativo> <punteggio>2</punteggio> </utente> </utenti>
Grazie mille!![]()

Rispondi quotando