probleme beim einlesen eines xml-Files

sirina

Mitglied
Hallo Forum,

ich steh irgendwie auf dem Schlauch. Ich schaffe es einfach nicht, mehrere Attribute eines XML-Files in anzuzeigen. Bei den trace()-Ausgaben sehe ich zwar, dass die Attribute eingelesen werden, aber sie werden nicht auf der Bühne dargestellt.

Kann mir evtl. jemand helfen?

Hier das XML-File:
PHP:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<knoten name="knoten1" beschreibung="der erste knoten" />
	<knoten name="knoten2" beschreibung="der zweite knoten" />
	<knoten name="knoten3" beschreibung="der dritte knoten" /> 
	<knoten name="knoten4" beschreibung="der vierte knoten" />
	<knoten name="knoten5" beschreibung="der fuenfte knoten" />
	<knoten name="knoten6" beschreibung="der sechste knoten" /> 
	<knoten name="knoten7" beschreibung="der siebte knoten" />
</root>


Und hier der Code in der *.fla-Datei:
PHP:
var XMLdaten = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("xml1.xml");
XMLdaten.onLoad = function(success) {
        XMLdaten_namen = []; 
        XMLdaten_beschreibung = []; 
		var anzahl = XMLdaten.firstChild.childNodes.length;
        if (success) { 
                for (var i=0; i<anzahl; i++) {
                        XMLdaten_namen[i] = XMLdaten.firstChild.childNodes[i].attributes.name;                        
                        XMLdaten_beschreibung[i] = XMLdaten.firstChild.childNodes[i].attributes.beschreibung;
                       
                }

				for (var i=0; i<anzahl; i++) {        
						_root.createTextField("teext"+i, i, 10, i*20, 0, 0);
						_root["teext"+i].autoSize = true;
						_root["teext"+i].text = XMLdaten_namen[i];

						_root.createTextField("teext"+i, i, 80, i*20, 0, 0);
						_root["teext"+i].autoSize = true;
						_root["teext"+i].text = XMLdaten_beschreibung[i];
				}
		}
}


Mein Problem ist nun, dass nur die Werte im Feld "beschreibung" angezeigt werden. Die Werte im Feld "name" werden quasi ignoriert und nicht angezeigt.
Ich möchte dann später eine Ausgabe haben, die in etwa so aussieht:
PHP:
knoten1                           der erste knoten

Vielen Dank schonmal für die Hilfe!
 
Hi,

Du erstellst jeweils zwei Textfelder gleichen Instanznamens auf der selben Tiefe hintereinander:
PHP:
_root.createTextField("teext"+i, i, 10, i*20, 0, 0);
...
_root.createTextField("teext"+i, i, 80,
dann ist klar, dass das zweite Feld das erste überschreibt.

Gruß
.
 
Zurück