Avatar billede asgrone Nybegynder
23. august 2005 - 16:42 Der er 4 kommentarer

XML problemer

Hej jeg har en funktion som loader noget data fra en mysql database ind i flash som xml..
Mit problemer at den ikke altid får fat i alt dataen, og tit får "undefined", men alligevel går videre til næste output. Kan man på en måde få funktionen til at vente på dataen er loadet, før den går videre til næste punkt?
Avatar billede asgrone Nybegynder
23. august 2005 - 16:42 #1
Funktionen ser således ud:

//xml skidt
moXML = new XML();
moXML.ignoreWhite = true;
moXML.onLoad = lavListe;
moXML.load("sider/artikler.php");
//laver et array
pageCount = _root.pageCount;
taeller = pageCount;
artikelAntal = pageCount+16;
function lavListe() {
    artikelAntalIalt = moXML.firstChild.childNodes.length;
    artikelListe = {};
    //new object created
    artikelListe.artikeler = new Array();
    for (var i = taeller; i<artikelAntal; i++) {
        artikelListe.artikeler["overskrift"+i] = moXML.childNodes[0].childNodes[i].childNodes[0].childNodes[0].nodeValue;
        artikelListe.artikeler["tekst"+i] = moXML.childNodes[0].childNodes[i].childNodes[1].childNodes[0].nodeValue;
        artikelListe.artikeler["dato"+i] = moXML.childNodes[0].childNodes[i].childNodes[2].childNodes[0].nodeValue;
        artikelListe.artikeler["url"+i] = moXML.childNodes[0].childNodes[i].childNodes[3].childNodes[0].nodeValue;
    }
}
Avatar billede mat Nybegynder
23. august 2005 - 17:16 #2
Du kan jo starte med at tjekke om din data er loadet ordentligt:

function lavListe(success) {
if (success) {
    artikelAntalIalt = moXML.firstChild.childNodes.length;
    artikelListe = {};
    //new object created
    artikelListe.artikeler = new Array();
    for (var i = taeller; i<artikelAntal; i++) {
        artikelListe.artikeler["overskrift"+i] = moXML.childNodes[0].childNodes[i].childNodes[0].childNodes[0].nodeValue;
        artikelListe.artikeler["tekst"+i] = moXML.childNodes[0].childNodes[i].childNodes[1].childNodes[0].nodeValue;
        artikelListe.artikeler["dato"+i] = moXML.childNodes[0].childNodes[i].childNodes[2].childNodes[0].nodeValue;
        artikelListe.artikeler["url"+i] = moXML.childNodes[0].childNodes[i].childNodes[3].childNodes[0].nodeValue;
    }
}
else {
trace("error loading");
}
}

?
Avatar billede asgrone Nybegynder
23. august 2005 - 17:58 #3
der kommer ikke nogen errors, så det må den vel gøre?
Avatar billede mat Nybegynder
23. august 2005 - 18:04 #4
Hvis den smider "success" som sand så burde dataen være loadet ja. Får du det rigtige xml dokument ud hvis du tracer "moXML" i din funktion? Og er du sikker på at nogle af dine stier ikke bare returnerer undefined, eller sker det kun "nogen gange"?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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