webForumDet fria alternativet

Itererar genom xml-feed

2 svar · 438 visningar · startad av SPiN

SPiNMedlem sedan mars 20007 896 inlägg
#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?

SPiNMedlem 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();
}
SPiNMedlem 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å?

126 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)