Autor |
Nachricht |
websister
Threadersteller
Dabei seit: 29.04.2005
Ort: Berlin, z.Z.Rovaniemi FIN
Alter: -
Geschlecht:
|
Verfasst Mo 19.03.2012 11:36
Titel Grundsatzfrage zu AS3 + XML |
|
|
Hallo zusammen,
ich hab mal eine ganz grundsätzliche Frage.
Wenn ich eine XML-Datei in Flash einlese muß ich dann mit allem immer warten bis die XML-Datei vollständig geladen + geparsed ist??? Also den ganzen restlichen Code abhängig von der XML-Datei machen???
Da habe ich ein Verständnisproblem.
Kann mir das jemand beantworten?
Danke schöööön + gruß *.tina
Hier nachträglich noch der passende AS3 Code:
Code: |
Produktempfehlung.visible = false;
Button1.visible = true;
var knotennr = 101;
// XML Loader des passenden Datensatzes
var tasks = [];
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("tasks.xml"));
loader.addEventListener(Event.COMPLETE, parseXML);
function parseXML(evt:Event) {
var xml_dokument:XML = new XML(evt.target.data);
xml_dokument.ignoreWhitespace = true;
trace(xml_dokument.tasks[knotennr].taskname);
}
Button1.addEventListener(MouseEvent.MOUSE_UP,getKnoten);
function getKnoten(evt:MouseEvent):void {
if (knotennr >= 100) {
trace("Aufgabe" + knotennr);
Produktempfehlung.txt_name.text = xml_dokument.produkt[knotennr].produktname;
//Produktempfehlung.txt_name.text = "blabla";
} else {trace("weiter machen");}
}
|
Fehlermeldung lautet: 1120: Zugriff auf eine nicht definierte Eigenschaft xml_dokument.
Zuletzt bearbeitet von websister am Mo 19.03.2012 11:50, insgesamt 2-mal bearbeitet
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 19.03.2012 12:18
Titel
|
|
|
Du kannst bspw. mit nem ganz unten angesiedelten Tokenizer oder einem SAX-Parser drangehen, dann kannst Du anwendungsseitig schonmal mit der Auswertung beginnen, auch wenn der Automat noch nicht am Ende angekommen ist.
Benutzt Du eine stinknormale DOM-Implementierung, musste auf jeden Fall bis zum Ende warten.
|
|
|
|
|
Anzeige
|
|
|
websister
Threadersteller
Dabei seit: 29.04.2005
Ort: Berlin, z.Z.Rovaniemi FIN
Alter: -
Geschlecht:
|
Verfasst Mo 19.03.2012 13:17
Titel
|
|
|
Danke schonmal @bacon aber UPS ... "Tokenizer oder einem SAX-Parser" das sagt mir so gar nix ...
Aber ich will das ja auch gar nicht sofort verarbeiten, deshalb verstehe ich das ja auch nicht ... die Daten aus dem XML brauche ich erst "viel" später ...
Ich habe mittlerweile die var xml_dokument:XML weiter oben schon ausserhalb der Funktion deklariert ... jetzt ist die erste Fehlermeldung schon mal weg ... aber auf die Daten (xml_dokument.produkt[knotennr].produktname) kann ich innerhalb der anderen Funktion (getKnoten) immernoch nicht zugreifen?
Jetzt heißt die Fehlermeldung, wenn ich die function getKnoten aufrufe:
Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich. Also scheint er xml_dokument nicht zu kennen?!?!
Ich dachte die Daten stehen mir jetzt in dem Objekt "xml_dokument" zur Verfügung. Oder ist das nicht so? Muß ich noch einen Zwischenschritt machen ... und die Daten von dort noch in ein neues Objekt transferieren ??
Hüüüülfe ich versteh das nicht ...
danke + gruß *.tina
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Mo 19.03.2012 16:39
Titel
|
|
|
Ja, muss du
|
|
|
|
|
|
|
|