Avatar billede proprius Nybegynder
19. december 2005 - 23:53 Der er 4 kommentarer

Problemer med at finde en xml-fil's tags i IE.

Jeg har en xml-fil, som jeg får ind ved hjælp af noget AJAX kode. Det fungerer sådan set fint.

Men jeg kan ikke få ordenligt fat i dens nodes, dvs kun i IE, for det virker fint i Firefox.

var xmld = http_request.responseXML;
var rod = xmld.firstChild;

Jeg ved at xmld bliver sat rigtigt, men den vil ikke tage "rod", den sætter den bare til null.
Avatar billede tjp Mester
20. december 2005 - 03:06 #1
Alt efter hvilken knude du vil have til rod, så prøv enten med:

var rod = xmld.documentElement;

eller:

var rod = xmld.documentElement.firstChild;
Avatar billede proprius Nybegynder
20. december 2005 - 17:20 #2
Tak for svaret. Desværre så:

var rod = xmld.documentElement virker i Firefox, men ikke i IE.
var rod = xmld.documentElement.firstChild virker overhovedet ikke.

Behøver du mere af min kode?
Avatar billede tjp Mester
21. december 2005 - 02:04 #3
Sikke noget "rod", tø-hø! ;-)
Prøv at kom med al relevant kode...
Avatar billede proprius Nybegynder
21. december 2005 - 15:20 #4
Hehe :)

Min xml-fil er skrevet af en php-fil, så siden jeg http_requester til er altså af *.php. Men i min kode skriver jeg:

if (window.XMLHttpRequest) {
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
    }
}

kan det evt. påvirke?

Ellers så er det relevante her:

function visKommentarerOnReadystateChange() {
if (http_request.readyState == 4) {
    if (http_request.status == 200) {
        var xmld = http_request.responseXML;
        var rod = xmld.getElementsByTagName('rod').item(0);
        alert(rod); //melder null
        var antal = rod.childNodes; //giver fejl
        var kommentarerVis = " ";
        for(tal = 0; tal<antal.length-1; tal++){
            var denneKommentar = rod.getElementsByTagName('kommentar').item(tal);
            var denneNavn = denneKommentar.getElementsByTagName('navn').item(0);
            var denneTekst = denneKommentar.getElementsByTagName('tekst').item(0);
            var denneTid = denneKommentar.getElementsByTagName('tid').item(0);
            var navn = denneNavn.firstChild.data;
            var tekst = denneTekst.firstChild.data;
            var tid = denneTid.firstChild.data;
            kommentarerVis += navn;
            kommentarerVis += " - ";
            kommentarerVis += tid;
            kommentarerVis += "<br>";
            kommentarerVis += tekst;
            kommentarerVis += "<br><br>";
        }
        kommentarerVis += '<a class="link" href="#" onClick="visKommentarer()">Opdater kommentarer</a><br>';
        document.getElementById('kommentarer').innerHTML = kommentarerVis;
    } else {
        alert('Den kaldte opgave kunne ikke løses!');
    }
}
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester