Ergebnis 1 bis 4 von 4
-
17-12-2013, 12:43 #1
Jungspund
- registriert
- 30-03-2007
- Beiträge
- 10
Xml for schleife läuft nur einmal denkfehler?
Hallo,
Ich habe eine simple for schleife für die nodes in einer xml.
Das ganze soll für jeden node des mainnodes wiederholt werden. Leider läuft es nur einmal durch und beim 2 durchlauf bereits hängt das script.
Wisst ihr wo der fehler hier liegt??
VG
(Mobiler post, ohne möglichkeit code ordentlich darzustellen, sry)
Script:
HTML-Code:var ItemsCount =xmlDoc.getElementsByTagName('oben')[0].childNodes.length; alert('ItemsCount: ' + ItemsCount); for (var i=0; i < ItemsCount; i++) { var nodeName_i = xmlDoc.getElementsByTagName('oben')[0].childNodes[i].nodeName; var x = xmlDoc.getElementsByTagName(nodeName_i); alert('nodeName_i: ' + nodeName_i); <!-- ABBRUCH!? --> alert('childnodesTT: ' + x[i].nodeName); alert('childnodes Value: ' + x[i].childNodes[0].firstChild.nodeValue); alert('childnodes Length: ' + x[i].childNodes.length); alert('Schleifenende: ' + i); }
Xml:
HTML-Code:<?xml version="1.0" encoding="Windows-1252" standalone="no"?> <oben> <Eintrag0> <u01>A01</u01> <u02>A02</u02> <u03>A2013</u03> </Eintrag0> <Eintrag1> <u01>B01</u01> <u02>B02</u02> <u03>B2013</u03> </Eintrag1> <Eintrag2> <u01>C01</u01> <u02>C02</u02> <u03>C2013</u03> </Eintrag2> </oben>
Geändert von mikdoe (17-12-2013 um 14:12 Uhr) Grund: Code Tags gesetzt
-
17-12-2013, 21:03 #2rico2009 Guest
AW: Xml for schleife läuft nur einmal denkfehler?
Anscheinend enthält x einen falschen Wert oder die Variable "ItemsCount" enthält eine 1.
Wie äußert sich denn das "hängen"? Was sagen die alerts? Gibt es sonstige Fehler in der Konsole?
-
18-12-2013, 12:50 #3
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
AW: Xml for schleife läuft nur einmal denkfehler?
Anscheinend gibt es kei´n Element mit dem Tagnamen "#text" oder anders gesagt, das 1. Element ist nicht wie du erwartest Eintrag0, sondern "\n ". oder vielleicht auch nur "\n" und das 2. ist " "
-
18-12-2013, 18:29 #4
AW: Xml for schleife läuft nur einmal denkfehler?
1. Was steht in der Fehlerkonsole?
2. x enthält eine HTMLCollection mit maximal einem Eintrag, deswegen kann x[i] nur beim ersten Durchlauf einen definierten Wert zurückliefern...
3. Warum machst du das mit dem x überhaupt? Über die .childNodes hast du dein Element doch schon...
PS: man sollte DOM-Anfragen (wie document.getElementsByTagName()) möglichst sparsam einsetzen und deren Rückgabewerte zwischenspeichern, da sie langsam sind.
@hesst: ich dachte immer, dass in XML solche "leeren" Textnodes entfernt werden und das Problem nur in HTML besteht.
Ähnliche Themen
-
Verschachtelte For-Schleife, läuft innere Schleife erst am Schluss an.
Von Nosferatu im Forum JavaScriptAntworten: 5Letzter Beitrag: 06-04-2011, 14:36 -
Attribut wird einmal gesetzt, einmal nicht
Von Generic1 im Forum JavaScriptAntworten: 5Letzter Beitrag: 20-07-2009, 14:25 -
SetAttribute funktioniert in Schleife nur einmal
Von mastermueller im Forum JavaScriptAntworten: 2Letzter Beitrag: 16-04-2009, 21:27 -
[PHP] denkfehler?
Von schwerminator im Forum Serverseitige ProgrammierungAntworten: 6Letzter Beitrag: 15-11-2004, 23:46 -
denkfehler ???
Von Byteandi im Forum Site-CheckAntworten: 5Letzter Beitrag: 07-10-2004, 19:27
Lesezeichen