Hallo,
ich habe für ein Flash Projekt jetzt eine XML Datei erstellt, aus der ich ein paar Konfigurationen reinhole, die der Benutzer änder kann. Dazu hab ich eine eigene Klasse "XMLParser" erstellt, die ich in anderen Klassen gerne aufrufen möchte, um auf die Einstellungen zuzugreifen.
In der Klasse befindet sich eine Methode, die sich "loadXML" nennt. Dort werden die eingelesen Daten in ein array gespeichert. Innerhalb dieser Methode kann ich auch auf die Werte im Array zugreifen.
Ich dachte, ok, alles i.O., einfach ein paar getter erstellen um die Werte in andere Klassen zu bekommen, aber eben das funktioniert nicht. Ich erhalte immer, null, bzw 0,...
Auch die in der XMLParser erstellte Methode printSettings() liefert mir nur "undefined", wenn ich sie im Konstruktor aufrufe.
Hier mal der Code:
kann mir vielleicht jemand sagen woran das liegen könnte?!?
lg dipo
ich habe für ein Flash Projekt jetzt eine XML Datei erstellt, aus der ich ein paar Konfigurationen reinhole, die der Benutzer änder kann. Dazu hab ich eine eigene Klasse "XMLParser" erstellt, die ich in anderen Klassen gerne aufrufen möchte, um auf die Einstellungen zuzugreifen.
In der Klasse befindet sich eine Methode, die sich "loadXML" nennt. Dort werden die eingelesen Daten in ein array gespeichert. Innerhalb dieser Methode kann ich auch auf die Werte im Array zugreifen.
Ich dachte, ok, alles i.O., einfach ein paar getter erstellen um die Werte in andere Klassen zu bekommen, aber eben das funktioniert nicht. Ich erhalte immer, null, bzw 0,...
Auch die in der XMLParser erstellte Methode printSettings() liefert mir nur "undefined", wenn ich sie im Konstruktor aufrufe.
Hier mal der Code:
PHP:
package {
import flash.filesystem.File;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLLoader;
public class XMLParser {
public static const XMLFILE : String = "KaffeeDJ/config.xml";
private var xmlLoader:URLLoader = new URLLoader();
private var xmlData:XML;
private var xmlFile:File;
private var confArray:Array = new Array();
private var test:String;
public function XMLParser() {
xmlFile = File.documentsDirectory.resolvePath(XMLFILE);
xmlLoader.load(new URLRequest(xmlFile.url));
xmlLoader.addEventListener(Event.COMPLETE, loadXML);
printSettings();
}
private function initArray(event:Event) {
trace("Do Something");
}
private function loadXML(e:Event):void {
xmlData = new XML(e.target.data);
for (var i:Number = 0; i < xmlData.setting.length(); i++) {
confArray.push(xmlData.setting[i].socket.text());
confArray.push(xmlData.setting[i].sensorPlay.text());
confArray.push(xmlData.setting[i].sensorRec.text());
confArray.push(xmlData.setting[i].debugMode.text());
confArray.push(xmlData.setting[i].mp3Name.text());
}
trace("##Parser: " + confArray[4]);
}
private function printSettings():void {
trace("* " + confArray[0]);
trace("* " + confArray[1]);
trace("* " + confArray[2]);
trace("* " + confArray[3]);
trace("* " + confArray[4]);
}
public function getSocket():int {
return int(confArray[0]);
}
public function getSensorPlay():int {
return int(confArray[1]);
}
public function getSensorRec():int {
return int(confArray[2]);
}
public function getDubugMode():Boolean {
return Boolean(confArray[3]);
}
public function getMP3Name():String {
return confArray[4];
}
public function getTest():String {
return test;
}
}
}
kann mir vielleicht jemand sagen woran das liegen könnte?!?
lg dipo