[MX04] XML <-> Flash, Array; Probleme mit dem dem lesen von xml

Eisbaer

Erfahrenes Mitglied
Hallo allerseits,

ich versuche eine mit php generierte XML Datei auszulesen und stose dabei auf das problem das ich zwar einen Wert auslesen kann jedoch nur einen, das Script läuft in einer Schleife ab und sollte auch die anderen Werte auslesen, aber genug Text hier erstmal der Code:

PHP:
stop();
var XMLData = new XML();
var units:Array = new Array();
units[0] = new Array(10);
XMLData.ignoreWhite = true;
function loadUnits() {
	units = new Array();
	XMLData.sendAndLoad("read.php", XMLData, "POST");
	XMLData.onLoad = function(XMLladen) {
		if (XMLladen) {
			for (i=0; i<XMLData.firstChild.childNodes.length; i++) {
				units[[i][0]] = XMLData.firstChild.childNodes[i].attributes.id;
				units[i][1] = XMLData.firstChild.childNodes[i].attributes.owner;
				units[i][2] = XMLData.firstChild.childNodes[i].attributes.utype;
				units[i][3] = XMLData.firstChild.childNodes[i].attributes.x;
				units[i][4] = XMLData.firstChild.childNodes[i].attributes.y;
				units[i][5] = XMLData.firstChild.childNodes[i].attributes.s1;
				units[i][6] = XMLData.firstChild.childNodes[i].attributes.s2;
				units[i][7] = XMLData.firstChild.childNodes[i].attributes.s3;
				units[i][8] = XMLData.firstChild.childNodes[i].attributes.s4;
				units[i][9] = XMLData.firstChild.childNodes[i].attributes.s5;
				debug = units[0][0];
			}
			gotoAndStop(3);
		}
	};
}
loadUnits();

debug gibt den richtigen wert aus, nur wenn ich statt units[0][0] einen anderen Index wähle bekomme ich keinen Wert mehr, die XML wird aber richtig gelesen, wenn ich im index 0;0 was anderes abfrage bekomme ich den Wert auch aber nur halt 1 Wert.

Über jede Hilfe bin ich dankbar (besonderst von "datic" der mir schon bei so vielen dingen geholfen hatt, hoffentlich auch hier helfen kann ;) )

Gruss Eisbaer
 
Hallo,

du initialisierst auch nur units[0] als Array. Versuch mal folgendes:
Code:
stop();
var XMLData = new XML();
var units:Array = new Array();
XMLData.ignoreWhite = true;
function loadUnits() {
    XMLData.sendAndLoad("read.php", XMLData, "POST");
    XMLData.onLoad = function(XMLladen) {
        if (XMLladen) {
            for (i=0; i<XMLData.firstChild.childNodes.length; i++) {
                units[i] = new Array(10);
                units[[i][0]] = XMLData.firstChild.childNodes[i].attributes.id;
                units[i][1] = XMLData.firstChild.childNodes[i].attributes.owner;
                units[i][2] = XMLData.firstChild.childNodes[i].attributes.utype;
                units[i][3] = XMLData.firstChild.childNodes[i].attributes.x;
                units[i][4] = XMLData.firstChild.childNodes[i].attributes.y;
                units[i][5] = XMLData.firstChild.childNodes[i].attributes.s1;
                units[i][6] = XMLData.firstChild.childNodes[i].attributes.s2;
                units[i][7] = XMLData.firstChild.childNodes[i].attributes.s3;
                units[i][8] = XMLData.firstChild.childNodes[i].attributes.s4;
                units[i][9] = XMLData.firstChild.childNodes[i].attributes.s5;
                trace (units[i]);
            }
            gotoAndStop(3);
        }
    };
}
loadUnits();

gruss
 
Hallo Luke,

vielen dank erstmal für deine Antwort und entschuldige das ich so spät erst antworte. Ich werde es ausprobieren und ergebnisse hier posten.

Danke
 

Neue Beiträge

Zurück