Huhu,
ich will eine XML-Datei einlesen und daraus eine Liste der zu testenden Vocabeln erstellen. Das funktioniert soweit schon. Aber ausserhalb der Funktion zum Auslesen der XML-Daten kann ich auf mein erstelltes Vocabel-Array nicht mehr zugreifen. Kann mir jemand erklären, wieso? Und wie ich das beheben kann?
Herzlichsten Dank.
Azrasha
Der Actionscript-Code:
Die trace-Ausgabe:
Das XML-File:
ich will eine XML-Datei einlesen und daraus eine Liste der zu testenden Vocabeln erstellen. Das funktioniert soweit schon. Aber ausserhalb der Funktion zum Auslesen der XML-Daten kann ich auf mein erstelltes Vocabel-Array nicht mehr zugreifen. Kann mir jemand erklären, wieso? Und wie ich das beheben kann?
Herzlichsten Dank.
Azrasha
Der Actionscript-Code:
Code:
// Liste aller Vokabeln
var vocabeln = new Array();
// XML-Datei auslesen
var XMLdaten = new XML();
XMLdaten.ignoreWhite = true;
XMLdaten.load("quiz1.xml");
XMLdaten.onLoad = function(success) {
if (success) {
// Anzahl der engl. Vokabeln (entspricht der Anzahl der Vocabelpärchen) auslesen
anzahl_en = XMLdaten.firstChild.childNodes.length;
for (var i = 0; i<anzahl_en; i++) {
var voc = new Array(); // ein einzelnes Vokabelpärchen
// englische Vokabel auslesen und dem voc-Array zuweisen
voc["en"] = new Array(XMLdaten.firstChild.childNodes[i].attributes.wert);
// Anzahl der deutschen Entsprechungen raussuchen
anzahl_dt = XMLdaten.firstChild.childNodes[i].childNodes.length;
// alle nacheinander auslesen und in einem Array dt ablegen
dt = [];
for (var j = 0; j<anzahl_dt; j++) {
dt[j] = XMLdaten.firstChild.childNodes[i].childNodes[j].attributes.wert;
}
// die deutsche Vokabelliste nun auch dem voc-Array zuweisen. Diese hat nun zwei
// assoziierte Wertpaare: 1. eng: englische Vokabel und 2. dt: deutsche Vokabel
// beides jeweils als Array
voc["dt"] = dt;
// das Vokabelpärchen wird der Vokabelliste hinzugefügt:
vocabeln.push(voc);
trace("1"+vocabeln[0]["dt"]);
}
trace("2"+vocabeln[0]["dt"]);
}
trace("3"+vocabeln[0]["dt"]);
};
trace("4"+vocabeln[0]["dt"]);
Code:
4undefined
1Römer,römisch,Römerin
1Römer,römisch,Römerin
1Römer,römisch,Römerin
1Römer,römisch,Römerin
1Römer,römisch,Römerin
1Römer,römisch,Römerin
2Römer,römisch,Römerin
3Römer,römisch,Römerin
Code:
<?xml version="1.0" encoding='utf-8'?>
<vocabelliste>
<eng wert="roman">
<dt wert="Römer" />
<dt wert="römisch" />
<dt wert="Römerin" />
</eng>
<eng wert="church">
<dt wert="Kirche" />
</eng>
<eng wert="tidy">
<dt wert="ordentlich" />
<dt wert="aufgeräumt" />
<dt wert="aufräumen" />
</eng>
<eng wert="battle">
<dt wert="Schlacht" />
</eng>
<eng wert="knight">
<dt wert="Ritter" />
</eng>
<eng wert="try">
<dt wert="versuchen" />
</eng>
</vocabelliste>
</xml>