webForumDet fria alternativet
Logga in / Bli medlem

Itererar genom xml-feed

JavaScript

2 svar · 440 visningar · startad av SPiN

Medlem sedan mars 20007 896 inlägg
Frågan#1

Hej!
Jag har stött på ett problem som jag inte kommer förbi. Jag läser in ett xml-dokument från ett feed, och ska iterera ut informationen.

var myValues = new Array();
var index = 0;

function load(xmldoc) {
     var names = xmldoc.getElementsByTagName("name");
     var values = xmldoc.getElementsByTagName("value");

     var myValue = new Array();
     for(i = 0; i < names.length; i++) {
          myValue[0] = names[i].childNodes[0].nodeValue;
          myValue[1] = values[i].childNodes[0].nodeValue;

          myValues[i] = myValue;
     }

     roll();
}

function roll() {
     document.getElementById('Field').innerHTML = myValues[index][0] + document.getElementById('Field').innerHTML;

     index++;
     if(index >= myValues.length) {
          index = 0;
     }

     preroll();
}

function preroll() {
     setTimeout("roll()", 1000);
}

Det enda som fylls på i mitt 'Field', är den sista posten i arrayen 'myValues'.

Någon som hittar mitt fel?

Medlem sedan mars 20007 896 inlägg
#2

Nevermind. Självklart var jag tvungen att förnya arrayen 'myValue' i varje loop.

function load(xmldoc) {
     var names = xmldoc.getElementsByTagName("name");
     var values = xmldoc.getElementsByTagName("value");

     var myValue = new Array();
     for(i = 0; i < names.length; i++) {
          myValue = new Array();
          myValue[0] = names[i].childNodes[0].nodeValue;
          myValue[1] = values[i].childNodes[0].nodeValue;

          myValues[i] = myValue;
     }

     roll();
}
Medlem sedan mars 20007 896 inlägg
#3

Jag ställer en följdfråga:
Mitt XML-feed innehåller oftast omkring 250-300 poster (ibland uppåt 500 poster), och JavaScript verkar vara kasst på att hantera den storleken på information?! Är det att föredra att sköta inläsning och viss bearbetning med ett server-side språk i det här fallet, eller finns det genvägar att gå?

252 ms totalt · 4 externa anrop · v20260731065814-full.05830320
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)