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
codice:
<!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>
data.xml

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>
Qualcuno mi riesce ad aiutare?
Grazie mille!