 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
02.06.2008, 12:31
|
#1
|
|
TP-Senior
Registriert seit: Nov 2002
|
Daten aus Xml-Datei global im MC verfügbar machen
Hallo Zusammen,
ich habe ein Problem mit einer XML-Datei und Flash und zwar möchte ich eine Daten aus einer XML-Datei global in einem MovieClip verwenden.
Leider kann ich die Daten auserhalb folgender Funktion nicht verwenden.
Code:
var meinXML:XML = new XML();
var xmlContent = new Array();
//_global.xmlContent = new Array();
meinXML.ignoreWhite = true;
meinXML.load("http://213.239.212.154/_test/wetter/output.xml");
meinXML.onLoad = function (success:Boolean){
if (success) {
anzObjNodes = meinXML.firstChild.childNodes.length;
for(i=1; i<=anzObjNodes; i++){
xmlContent[i] = new Array();
xmlContent[i][0] = meinXML.firstChild.childNodes[(i-1)].attributes["name"];
xmlContent[i][1] = meinXML.firstChild.childNodes[(i-1)].childNodes[0].firstChild.nodeValue;
xmlContent[i][2] = meinXML.firstChild.childNodes[(i-1)].childNodes[1].firstChild.nodeValue;
xmlContent[i][3] = meinXML.firstChild.childNodes[(i-1)].childNodes[2].firstChild.nodeValue;
}
trace("\n------------------------------------\n - XML geladen\n------------------------------------\n");
}
else {
trace("nicht geladen");
}
}
trace("Data:" +xmlContent);
wäre super wenn mir jemand einen tipp geben könnte!!!
vielen dank im vorraus!
__________________
...zur Zeit außer Betrieb...
|
|
|
02.06.2008, 13:07
|
#2
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo Moritz,
du soltest auch mit dem Trace warten, bis die XML geladen und verabeitet wurde
PHP-Code:
var meinXML:XML = new XML ();
var xmlContent = new Array ();
//_global.xmlContent = new Array();
meinXML.ignoreWhite = true;
meinXML.load ("http://213.239.212.154/_test/wetter/output.xml");
meinXML.onLoad = function (success:Boolean) {
if (success) {
anzObjNodes = meinXML.firstChild.childNodes.length;
for (i=1; i<=anzObjNodes; i++) {
xmlContent[i] = new Array ();
xmlContent[i][0] = meinXML.firstChild.childNodes[(i-1)].attributes["name"];
xmlContent[i][1] = meinXML.firstChild.childNodes[(i-1)].childNodes[0].firstChild.nodeValue;
xmlContent[i][2] = meinXML.firstChild.childNodes[(i-1)].childNodes[1].firstChild.nodeValue;
xmlContent[i][3] = meinXML.firstChild.childNodes[(i-1)].childNodes[2].firstChild.nodeValue;
}
trace ("\n------------------------------------\n - XML geladen\n------------------------------------\n");
anZeige ();
} else {
trace ("nicht geladen");
}
};
function anZeige () {
for (var i = 0; i<xmlContent.length; i++) {
trace ("Data:"+xmlContent[i]);
}
}
|
|
|
02.06.2008, 13:39
|
#3
|
|
TP-Senior
Registriert seit: Nov 2002
|
Hallo!
vielen Dank für deine Antwort.
Was mir allerdings noch unklar ist: Wie bekomme ich jetzt die Werte aus xmlContent in meine dyn Textfelder in den Movieclips?
Ich habe leider null Ahnung von Actionscript - daher diese vielleicht dumme Frage.
Vielen Dank!
__________________
...zur Zeit außer Betrieb...
|
|
|
02.06.2008, 15:33
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
xmlContent ist dann doch ein Array, auf das Du zugreifen kannst ... wo ist das Problem?
Bsp
myText.htmText = xmlContent[1][2];
|
|
|
02.06.2008, 15:43
|
#5
|
|
TP-Senior
Registriert seit: Nov 2002
|
Hallo!
rufe ich myText.htmText = xmlContent[1][2]; innhalb der Funktion anZeige() auf?
Liegt "myText" in deinem Beispiel innerhalb eines Movieclips?
__________________
...zur Zeit außer Betrieb...
|
|
|
02.06.2008, 15:53
|
#6
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Ja und Nein ...
anZeige() ist ja nur die "Initial-Funktion" die dann alles aufruft, sobald die XML Daten da sind.
Dort kannst Du dann auch MCs attachen usw.
Bsp: Das MC "myMC" soll auf die Bühne geladen werden und dieses enthält das Textfeld "myTXT" und dieses soll xmlContent[1][2] als Inhalt haben, dann:
PHP-Code:
function anZeige():Void { attachMovie("myMC", "myMC", this.getNextHighestDepth()); myMC.myTXT.htmlText = xmlContent[1][2]; myMC._x = 10; myMC._y = 20; }
Du könntest aus anZeige() aber auch andere functions aufrufen, die sonst was machen ...
|
|
|
03.06.2008, 10:41
|
#7
|
|
TP-Senior
Registriert seit: Nov 2002
|
Hallo und danke nochmal für die Antwort!
Ich habe deinen Code jetzt mal ausprobiert - leider wird nichts angezeigt außer dem MC mit dem Default-Wert im Textfeld.
Mein Code sieht nun folgendermassen aus:
Code:
var meinXML:XML = new XML ();
var xmlContent = new Array ();
//_global.xmlContent = new Array();
meinXML.ignoreWhite = true;
meinXML.load ("output.xml");
meinXML.onLoad = function (success:Boolean) {
if (success) {
anzObjNodes = meinXML.firstChild.childNodes.length;
for (i=1; i<=anzObjNodes; i++) {
xmlContent[i] = new Array ();
xmlContent[i][0] = meinXML.firstChild.childNodes[(i-1)].attributes["name"];
xmlContent[i][1] = meinXML.firstChild.childNodes[(i-1)].childNodes[0].firstChild.nodeValue;
xmlContent[i][2] = meinXML.firstChild.childNodes[(i-1)].childNodes[1].firstChild.nodeValue;
xmlContent[i][3] = meinXML.firstChild.childNodes[(i-1)].childNodes[2].firstChild.nodeValue;
}
trace ("\n------------------------------------\n - XML geladen\n------------------------------------\n");
anZeige ();
} else {
trace ("nicht geladen");
}
};
function anZeige():Void {
attachMovie("stadtmc", "stadtmc", this.getNextHighestDepth());
stadtmc.stadttext.htmlText = " " +xmlContent[1][0];
stadtmc._x = 10;
stadtmc._y = 20;
trace("\n------------------------------------\n - XMLCONTENT[1][0]: "+xmlContent[1][0]+"\n------------------------------------\n");
}
__________________
...zur Zeit außer Betrieb...
|
|
|
03.06.2008, 13:53
|
#8
|
|
TP-Moderator
Registriert seit: Mar 2002
|
Hallo,
hänge bitte einmal deine Fla hier mit rein, dann kann man sich die Geschichte mal genauer angucken. Hast du auch dem Textfeld einen Instanznamen (stadttext) vergeben und auf HTML eingestellt ?
|
|
|
03.06.2008, 13:56
|
#9
|
|
TP-Senior
Registriert seit: Nov 2002
|
Hallo!
ich habe den Fehler schon gefunden: Ich hatte die Movieclips nicht für ActionScript exportiert.
Nachdem ich das gemacht hatte, ging es auch.
Vielen Dank an alle helfenden Hände!
__________________
...zur Zeit außer Betrieb...
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:05 Uhr.
|
 |