Einzelnen Beitrag anzeigen
Alt 14-08-2004, 01:14   #4 (permalink)
pape
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
3. Das verarbeiten der geladenen XML-Daten in Flash

...nun können wir ganz bequem auf unsere eben erstellten Arrays (XMLdaten_namen und XMLdaten_beschreibung) zugreifen wie auf jedes andere Array auch:

das:
ActionScript:
  1. trace(XMLdaten_namen[0]);
würde z.b. "Element eins" ausgeben!
Zum vergleich mal in die XMLfile gucken:
dort steht beim namen Attribut des ersten Elements name="Element eins" !

das:
ActionScript:
  1. trace(XMLdaten_namen[1]);
würde z.b. "Element zwei" ausgeben!
Zum vergleich mal in die XMLfile gucken:
dort steht beim namen Attribut des zweiten Elements name="Element zwei" !

...usw...

genau so funktioniert es mit dem beschreibungs array:
ActionScript:
  1. trace(XMLdaten_beschreibung[1]);
ausgabe : Beschreibung 2

wie wir sehen hat die Übergabe der Daten funktioniert!

um ganz sicher zugehen, ob auch wirklich alle Element übergeben worden sind können wir uns auch direkt das ganze Array aus-tracen:
ActionScript:
  1. trace(XMLdaten_namen);
  2. //ausgabe in unserem beispiel:
  3. //Element eins,Element zwei,Element drei
  4.  
genauso das andere Array mit den beschreibungs-attributen:
ActionScript:
  1. trace(XMLdaten_beschreibung);
  2. //ausgabe in unserem beispiel:
  3. //Beschreibung 1,Beschreibung 2,Beschreibung 3
  4.  

es hat also alles wunderbar geklappt!

das wars auch eigentlich schon!

Was wir nun mit den Werten machen ist egal!
aber so wie beschrieben können wir auf sie zugreifen!
die Fla's findet ihr im Anhang!

vielleicht ein Beispiel zum verwenden der Daten zur Veranschaulichung des Vorgangs:
angenommen wir möchten dynamisch viele textfelder erzeugen und in sie auch dynamischen text schreiben...
->XML macht es möglich:

in die XML File schreiben wir:
(Filename: textfelder_daten.xml)
Code:
<?xml version='1.0' encoding='utf-8'?>
  <felder>
    <feld anzeige="Textfeld eins"/>
    <feld anzeige="Textfeld zwei"/>
    <feld anzeige="Textfeld drei"/>
    <feld anzeige="Textfeld vier"/>
    <feld anzeige="Textfeld fuenf"/>
    <feld anzeige="Textfeld sechs"/>
  </felder>
wir erstellen einen neuen Flashfilm und schreiben in das erste Bild die uns nun schon bekannte auslese Methode der XML-file:
ActionScript:
  1. stop();
  2. var XMLdaten = new XML();
  3. XMLdaten.ignoreWhite=true;
  4. XMLdaten.load("textfelder_daten.xml");
  5. XMLdaten.onLoad = function(success) {
  6.     anzahl = XMLdaten.firstChild.childNodes.length; //liest die anzahl der elemente aus!
  7.     anz = []; //neues array
  8.     for (var i=0; i<anzahl; i++) {
  9.             anz[i] = XMLdaten.firstChild.childNodes[i].attributes.anzeige;//auslesen
  10.     }
  11.     gotoAndStop(2);
  12. }
in das zweite Bild kommt das:
ActionScript:
  1. stop();//film stehen lassen (frame 2);
  2. for (var i=0; i<anzahl; i++) {//wieder alle elemente durch gehen
  3.     // neues textfeld auf _root
  4.     //das i*20 dient dazu die Textfelder unter einander zu positionieren!
  5.     _root.createTextField("teext"+i, i, 10, i*20, 0, 0);
  6.     // autoSize = true wegen dynaisch langem Inhalt
  7.     _root["teext"+i].autoSize = true;
  8.     //text aus array dem entsprechenden Textfeld zuweisen
  9.     _root["teext"+i].text = anz[i];
  10. }

So es war einigermaßen verständlich, oder?!

wenn es Fragen gibt, dann fragt!
Es gibt keine dummen Fragen!
...und wie gesagt, ich erkläre nicht verstandenes gerne noch mal genauer!


Ich hoffe es haben sich keine Fehler eingeschlichen!
Ich habe alles getested und daher sollte es funktionieren!
Aber es kann immer schon mal sein, dass man sich hier dann doch noch mal vertippt!
wenn jemand Fehler findet oder Verbesserungsvorschläge hat, dann bitte kurz bescheidgeben, damit ich das ändern kann!

nochmal viel Spaß/Erfolg damit!

würde mich über kommentare und konstruktive Kritik/verbesserungsvorschläge usw. freuen!

greetz,
Robert


P.s:
Anhang
Beispiel Fla'S:
(1) beispiel - fla aus meinem Tutorial.
(2) beispiel fla - Anwendungs-Beispiel (dynamische Textfelder erzeugen).

und nen special @ wurscht:
(3) beispiel fla - Anwendungs-Beispiel (RollOver bei Buttons in Verbindung mit TextFelder).
Angehängte Dateien
Dateityp: zip xmlbsp_schritt3.zip (3,2 KB, 2090x aufgerufen)
Dateityp: zip anwendungs_bsp.zip (2,7 KB, 2721x aufgerufen)
Dateityp: zip onRollOver_Xml_Beispiel.zip (3,7 KB, 2242x aufgerufen)

Geändert von shorty (08-06-2006 um 23:31 Uhr)
pape ist offline   Mit Zitat antworten