Ich Riesenrindvieh... Thanks ;-) -----Urspr�ngliche Nachricht----- Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]] Gesendet: Donnerstag, 7. M�rz 2002 11:16 An: AspGerman Kaffeehaus Betreff: [aspdecoffeehouse] RE: ASP-->XML-->Flash Chat
> Morgen, > > Ich bin gerade mal wieder so richtig am durchdrehen und brauch eure > Hilfe. Es geht zwar nicht um direkt um ASP aber ich wei� einfach keine > andere Hilfe als Euch! Es geht um ActionScript > > Ich habe folgende XML Ausgabe mit ASP konstruieren lassen > http://fa86.s6.domainkunden.de/was-geht-in-bc/chat/chatxml.asp > > Und m�chte das nun in meinen Flash Chat einlesen: > http://fa86.s6.domainkunden.de/was-geht-in-bc/chat/chat2.swf > > Und wie man sieht werden Eintr�ge doppelt angezeigt obwohl Sie im XML > File nur einmal vorhanden sind. Ich kann aber in folgendem Code keinen > Fehler finden. > > function BuildHeadlines () { > txtOnline = "Online:\n"; > txtChat="Chat:\n"; > Sind nicht zumindest einige, wenn nicht alle der n�chsten Objekterzeugungen sinnlos, da sie ja sp�ter sowieso �berschrieben werden... ? > rootNode = new XML(); > rootList = new Array(); > userList = new Array(); > elementList = new Array(); > > //Zuerst brauchen wir mal alle XML Nodes des Root Elements > rootNode = this.firstChild.nextSibling; > rootList = rootNode.childNodes; > > for (i=0; i<=rootList.length; i++) { > > // Suche die Liste der User (USERS) > if (rootList[i].nodeName.toLowerCase() == "users") { > //txtOnline = txtOnline + "RootELEMENT:" + rootList[i].nodeName + > "\n"; > > // Gib alle Elemente der USERS Aufz�hlung zur�ck > userList = rootList[i].childNodes; > > for (j=0; j <= userList.length; j++) { > //txtOnline = txtOnline + " > userELEMENT:" + userList[j].nodeName + "\n"; > > if (userList[j].nodeName.toLowerCase() > == "user") { > elementList = > userList[j].childNodes; > > for (k=0; k <= > elementList.length; k++) { > if > (elementList[k].nodeName.toLowerCase() == "nickname") > Nickname = > elementList[k].firstChild.nodeValue; > if > (elementList[k].nodeName.toLowerCase() == "status") > Status = > elementList[k].firstChild.nodeValue; > > txtOnline = txtOnline + > Nickname + " (" + Status + ")\n"; Das hier ist verfr�ht... Du darfst erst ausgeben, wenn Du alle Childs abgelaufen bist, also erst hinter dem n�chsten "}", sonst gibst sowohl f�r nickname als auch f�r status jedesmal was aus, also doppelt.... Ansonsten: benutzt doch den "+="-operator, dann brauchst Du nicht "var=var+x" schreiben, sondern kannst "var+=x" schreiben Claudius > } > } > > } > } > > > | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed > | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv Sie > | k�nnen sich unter folgender URL an- und abmelden: > | > http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee house.asp | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv Sie | k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.as | p | [aspdecoffeehouse] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp
