ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1462
1462
EMPFEHLEN
-
17.07.06 20:08 #1
- Registriert seit
- Jul 2006
- Beiträge
- 57
hi@all,
ich bin neu hier im forum und habe zuerst mal die Tutorial und Suchfunktion benutzt. Doch leider komme ich einfach nicht mehr weiter und hoffe, dass ihr mir helfen könnt.
Wie die Überschrift schon sagt gehts um XML und Flash.
ich habe folgenden script in Flash zum Auslesen verwendet
und in meiner XML-Datei siehts so ausHTML-Code:_root.createEmptyMovieClip("halter", 1000); _root.createEmptyMovieClip("holder", 2000); mein_xml = new XML(); mein_xml.ignoreWhite = true; mein_xml.load("daten.xml"); mein_xml.onLoad = function(status) { if (status) { daten_xml = this.firstChild.firstChild.childNodes; for (i=0; i<this.firstChild.firstChild.childNodes.length; i++) { _root.halter.attachMovie("punkte", "punkte"+i, i); _root.halter['punkte'+i]._x = 0 _root.halter['punkte'+i]._y = i*17; _root.halter['punkte'+i].inhalt_txt.text = daten_xml[i].attributes.titel; _root.halter['punkte'+i].link = daten_xml[i].attributes.adresse; //trace(daten_xml[i].attributes.titel) for (j=0; j<this.firstChild.firstChild[0].childNodes.length; j++) _root.holder.attachMovie("punkte", "punkte"+j, j); _root.holder['punkte'+j]._x = 300 _root.holder['punkte'+j]._y = i*17; _root.holder['punkte'+j].inhalt_txt.text = daten_xml[j].attributes.titel; _root.holder['punkte'+j].link = daten_xml[j].attributes.adresse; //trace(daten_xml[i].attributes.titel) } } }
HTML-Code:<?xml version='1.0' encoding='WINDOWS-1252' ?> <links> <inhalt> <menu titel="Flashbattle.de" adresse="http://www.flashbattle.de.de"></menu> <menu titel="heise.de" adresse="http://www.heise.de"></menu> <menu titel="waz.de" adresse="http://www.waz.de"></menu> <menu titel="shortnews.de" adresse="http://www.shortnews.de"></menu> <menu titel="flashstar.de" adresse="http://www.flashstar.de"></menu> <menu titel="zdf.de" adresse="http://www.zdf.de"></menu> </inhalt> </links>
ich weiß, dass die XML-Datei nicht vollständig ist. Hab aber keine Ahnung wie ich die zweite Tabelle zum Auslesen bringe.
Damit man sich es besser vorstellen kann, was ich meine hab ich die fla. auch mal hochgeladen.
Vielen Dank für Eure Hilfe, Mühe und was es sonst noch alles gibt
-
Hallo,
ich denke mal, du möchtest verschiedene Link-Tabellen anzeigen lassen. Dafür wär aber eine vollständige XML-Datei mal kein überflüssiger Luxus gewesen
.
Dein erster Fehler ist syntaktischer Art. Es gilt:
Code :1
myXML.firstChild == myXML.childNodes[0]
firstChild ist also immer der erste Kindknoten einer XML-Struktur, ist also bereits ein einzelnes Element und hat darum keine Array-Members. Dieser Code-Schnipsel aus deinem Skript wird also undefined zurückgeben:
Code actionscript:1
this.firstChild.firstChild[0].childNodes.length
Stattdessen müsste es heissen:
Code actionscript:1
this.firstChild.childNodes[0].childNodes.length
Dein zweiter Fehler ist eher logischer Art. Um eine dynamische Anzahl von Tabellen auszulesen, die wiederum eine dynamische Anzahl von Einrägen beinhalten können, musst du die for-Schlaufen verschachteln. Wenn du aber bloss die beiden Tabellen anzeigen willst, reichen die beiden nacheinander laufenden for-Schlaufen. Da ich deinem Script nicht genau entnehmen konnte, welche Variante du nun eigentlich bezweckst, hab ich dir einfach mal das Script so hingebogen (pass auf die Iterator-Anpassungen auf, also j statt i), dass es deine XML-Struktur mit einem zweiten Inhalt-Tag anzeigen würde.
Code actionscript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
mein_xml.onLoad = function(status) { if (status) { for (i=0; i<this.firstChild.firstChild.childNodes.length; i++) { var daten_xml = this.firstChild.firstChild.childNodes; _root.halter.attachMovie("punkte", "punkte"+i, i); _root.halter['punkte'+i]._x = 0; _root.halter['punkte'+i]._y = i*17; _root.halter['punkte'+i].inhalt_txt.text = daten_xml[i].attributes.titel; _root.halter['punkte'+i].link = daten_xml[i].attributes.adresse; //trace(daten_xml[i].attributes.titel) } for (j=0; j<this.firstChild.childNodes[1].childNodes.length; j++) { var daten_xml = this.firstChild.childNodes[1].childNodes; _root.holder.attachMovie("punkte", "punkte"+j, j); _root.holder['punkte'+j]._x = 300 _root.holder['punkte'+j]._y = j*17; _root.holder['punkte'+j].inhalt_txt.text = daten_xml[j].attributes.titel; _root.holder['punkte'+j].link = daten_xml[j].attributes.adresse; //trace(daten_xml[j].attributes.titel) } } };
grussGeändert von luke_the_duke (18.07.06 um 00:53 Uhr)
-
18.07.06 16:22 #3
- Registriert seit
- Jul 2006
- Beiträge
- 57
hi luke_the_duke,
vielen Dank für deine geniale Hilfe. Sorry, dass ich nicht die ganze XML-Datei hochgeladen habe wird nicht mehr vorkommen. Aber es funktioniert JUHU nochmals vielen Dank.
Ähnliche Themen
-
Mit Flash PHP-Daten auslesen
Von bigg_kg im Forum Flash PlattformAntworten: 2Letzter Beitrag: 21.06.09, 01:29 -
Flash-Cookie mit PHP auslesen
Von Spranta im Forum Flash PlattformAntworten: 2Letzter Beitrag: 08.05.09, 17:42 -
XML-Knoten in Flash auslesen
Von SaMsOn84 im Forum Flash PlattformAntworten: 6Letzter Beitrag: 16.11.07, 08:19 -
XML in Flash auslesen
Von Thomas Lindner im Forum Flash PlattformAntworten: 3Letzter Beitrag: 24.06.02, 23:24





Zitieren
Login




