Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-11-2004, 15:40   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
xml die zweite

hallo flashers

Ich hole per AS xml daten und möchte diese dann später in meinem Movie verwenden. aber irgendwie gehen die daten verloren....
PHP-Code:
counter 0;
System.useCodepage true;
import SimpleXML.SimpleXML;
import SimpleXML.Exceptions.XMLSourceException;
var 
xml:XML = new XML();
xml.load("news.xml");
xml.onLoad = function() {
    try {
        var 
xmlObj:SimpleXML = new SimpleXML(xml);
        
test = (xmlObj.getData().news[0].newsanzahl[0]._getAttribute("name"));
        for (
i=0i<testi++) {
            
_root["news_"+i] = (xmlObj.getData().news[0].meldung[i].inhalt[0]._getAttribute("name"));
        }
    } catch (
e:XMLSourceException) {
        
trace(e.message);
    }


!!!!!!!!!!!!!! 
hier funktionert der aufrufaber wenn ich die daten später im film aufrufen möchte-->undefined

_root
.mcNews.inhalt _root["news_"+counter];

};
!!!!!!!!!!!!!! 
hierausserhalb der function funktionert der aufrufnicht mehr
_root
.mcNews.inhalt _root["news_"+counter]; 

wenn ich doch die xml daten in der for-schlaufe in die variablen _root.news_1 usw. lade, sollte ich dann nicht währen des ganzen films zugriff haben?

wär echt froh um hilfe.....bin am ende mit meinem latein

danke und flash on

Geändert von bamsi (03-11-2004 um 15:43 Uhr)
bamsi ist offline   Mit Zitat antworten
Alt 03-11-2004, 16:26   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
mach mal

xml.onLoad = function() {trace(this);}

weiss nicht, wozu du ein neues xml in der load-funktion brauchst?

dann,
nach menü "steuerung/film testen"
menü "debuggen/variable auflisten"
oder richtig debuggen, da siehst du, wer was wann warum und wo rumlungert.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-11-2004, 16:39   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
vielen dank hgseib,

hab ich gemacht....er gibt mir dann einfach das xml file aus

wie kann ich jetzt aber die einzelnen meldungen im xml zu einer best. zeit aufrufen?

hmm, schwierig zu erklären....hab mal die files gezipt

danke
Angehängte Dateien
Dateityp: zip flash_xml.zip (5,4 KB, 2x aufgerufen)
bamsi ist offline   Mit Zitat antworten
Alt 03-11-2004, 17:16   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
xml ist deine variable/objekt!!! das du so definiert hast (musst es also nicht nochmals neu definieren. vorallem nicht in variable, die nur so lange wie die funktion leben). und wenn es auf _root liegt, dann ist das immer auf _root da. solange du keine neuen werte in xml reinlädst.
um missverständnisse zu vermeiden. benenne dein objekt mal um z.b. in myXML.

mach mal (nach erfolgreichem laden) irgendwo ein
trace(xml.firstChild.childNodes);
(wenn das dein xml-aufbau hergibt)


um schneller auf einzelne werte zugreifen zu können kannst du in der load-funktion die werte umspeichern. z.b.

_global.was_auch_immer=0;
...
xml.onLoad = function() {
_global.was_auch_immer= this.firstChild.childNodes;
// wenn das dein xml-aufbau hergibt
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 04-11-2004, 07:18   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
sorry aber das schnall ich jetzt nicht....

ich möchte ja einfach die variablen

PHP-Code:
_root["news_"+i] = (xmlObj.getData().news[0].meldung[i].inhalt[0]._getAttribute("name")); 
auch nach dem Aufrufen der Funktion noch^zur Verfügung haben.....wie mach ich denn das?

mit _global? aber wo und wie ;-)

danke
bamsi ist offline   Mit Zitat antworten
Alt 04-11-2004, 13:02   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
also fangen wir bei adam und eva an...
(man lernt durch ausprobieren und nicht dadurch, das man sich alles vorkauen lässt !!!!!)

var xml:XML = new XML();
herzlichen glückwunsch, soeben hast du ein objekt mit dem namen xml angelegt. da man aber keine reservierten worte benützen sollte ist das so ziemlicher misst. weg damit!

var myXML:XML = new XML();
herzlichen glückwunsch, soeben hast du ein objekt mit dem namen myXML angelegt.

myXML.onLoad = function() {
das xml-objekt hat das event onLoad, dessen function hier definiert wird. das ist ok.
...
var xmlObj:SimpleXML = new SimpleXML(myXML);
autsch !!!!!
innerhalb dem xml objekt mit dem namen myXML ist myXML == this. sollte man dann auch so benennen. damit der code universell eingesetzt werden kann.
SimpleXML ist keine standardfunction von flash. hier hast du irgend etwas installiert oder (eher unwahrscheinlich) selbst programmiert, was im forum natürlich keiner wissen kann (und unsere hellseher sind alle auf studienreise).
mit var legt man/frau eine variable an, die nur zur laufzeit gültig ist. wenn also die function onLoad abgearbeitet wurde, dann gibt es auch die darinn angelegten variablen nicht mehr.
du kannst jedoch zu jeder zeit auf myXML zugreifen. da steht ja alles drinn, oder du erzeugst eine andere globale variable:
_root.xmlObj:SimpleXML = new SimpleXML(this);
oder besser
_global.xmlObj:SimpleXML = new SimpleXML(this);

zu
test = (xmlObj.getData().news[0].newsanzahl[0]._getAttribute("name"));
kann ich nichts sagen, dass stammt wohl von diesem ominösen SimpleXML
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele