Gewusst wie: Positionieren mit XML in AS3

October 21

Gewusst wie: Positionieren mit XML in AS3

Mit XML-Dateien in Flash erfordert, dass Sie den Text in den XML-Tags zugreifen. Um Text in bestimmte Tags zugreifen müssen Sie wissen, wie die Position des Tags in die XML-Datei an. Eine XML-Datei ähnelt eine Datenbankstruktur der Datensätze und Felder. Wenn ein Tag Text enthält, kann es als ein Feld oder ein untergeordnetes Element betrachtet werden. Wenn ein Tag nicht Text drin aber enthält andere Tags, die Text enthalten, kann das enthaltende Tag als den Datensatz betrachtet werden, die die Felder (die untergeordneten Tags) enthält.

Anweisungen

1 Kopieren Sie und fügen Sie die folgende XML-Datei in einem Text-Editor und speichern Sie die Datei als "StockXMLFileTest_01.xml."

< Xml >

&lt;numberofrecords>3&lt;/numberofrecords>

&lt;quote>

&lt;stocksymbol>GOOG&lt;/stocksymbol>

&lt;bid>491.47&lt;/bid>

&lt;ask>491.85&lt;/ask>

&lt;/quote>

&lt;quote>

&lt;stocksymbol>MSFT&lt;/stocksymbol>

&lt;bid>25.25&lt;/bid>

&lt;ask>25.28&lt;/ask>

&lt;/quote>

&lt;quote>

&lt;stocksymbol>YHOO&lt;/stocksymbol>

&lt;bid>17.47&lt;/bid>

&lt;ask>17.48&lt;/ask>

&lt;/quote>

< / Xml >

Erstnachweis für diese XML-Datei heißt "Numberofrecords." Da dieser Datensatz Textdaten "3 enthält" ist es auch ein Feld, das ein Kind des Stammdatensatzes Dokument namens "XML." "Numberofrecords" speichert die Anzahl der Datensätze Zitat in der XML-Datei. Die ersten Angebotsdatensatzes hat XML Stellung Angebot [0], die zweite Angebotsdatensatzes hat Stellung Angebot [1] und dritte Datensatz hat Stellung Angebot [2]. Jede Angebotsdatensatz verfügt über drei Felder (Kinder). Das erste Gebot-Feld (Kind) im ersten Datensatz hat Stellung Zitat [0] .bid [0], das erste Gebot-Kind in der zweiten Angebotsdatensatzes hat Position [1] .bid [0] zu zitieren und das erste Gebot-Kind in der dritten Angebotsdatensatzes hat Stellung Zitat [2] .bid [0].

2 Starten Sie das Flash-Programm. Klicken Sie auf "Flash-File(ActionScript 3.0)" aus das Begrüßungsfenster für ein AS3 Flash Animation-Projekt eine neue Datei erstellen. Speichern Sie die Datei im gleichen Verzeichnis, in dem Sie die XML-Datei gespeichert.

3 Geben Sie den folgenden Code in den ActionScript 3-Editor, um ein Textfeld zu erstellen, die den Inhalt der Daten im spezifischen Bereich bestimmte Datensätze anzeigt, dass Sie (Position mit XML) auswählen:

Var Mark: TextField = neue TextField();

Mark.Type = TextFieldType.DYNAMIC;

Mark.x = 200

Mark.y = 200

Mark.Width = 400;

Mark.Height = 400;

Mark.Multiline = True;

addChild(mark);

Dieser Code erstellt eine dynamische TextField, die Texteingabe empfangen und Textausgabe anzeigen kann. TextField trägt den Namen "mark," auf der Flash-Bühne an den Koordinaten (200.200) positioniert ist, hat eine Breite von 400 Pixel und hat eine Höhe von 400 Pixel. TextField wird auf Multiline festgelegt, so dass keine die abgerufenen XML-Daten auf einer Zeile aber mehrere Zeilen angezeigt werden. AddChild-Methode wird verwendet, um die "Marke" TextField auf der Flash-Bühne platzieren, wo der Film spielt.

4 Geben Sie den folgenden Code in die nächste Zeile des Editors ActionScript 3 zum Laden der XML-Datei, die Sie gespeichert in der Flash-Programm:

Var-Ladeprogramm: URLLoader = new URLLoader();

Var Request: URLRequest = neue URLRequest("StockXMLFileTest_01.xml");

Loader.Load(Request);

loader.addEventListener(Event.COMPLETE, onComplete);

Dieser Code lädt die XML-Datei in der Flash-Programm, so dass der Text in der XML-Datei-Tags (Textknoten) zugegriffen werden kann.

5 Geben Sie den folgenden Code, beginnend mit der nächsten Zeile im Editor ActionScript 3 die Textdaten in bestimmten-Positionen in der XML-Datei angezeigt, nachdem die XML-Datei laden abgeschlossen wurde:

Funktion onComplete(event:Event):void

{

var loader:URLLoader = event.target as URLLoader; var fileXML = new XML(loader.data);

mark.text = fileXML.quote[0].bid[0];

}

Dieser Code positioniert die XML so, dass es auf das erste Gebot-Feld im ersten Zitat Datensatz (quote[0[.bid[[0]) in der XML-Datei verweist.

6 Kopieren Sie und fügen Sie den folgenden Code in seiner Gesamtheit in den ActionScipt 3-Editor, um sicherzustellen, dass das XML-Position-Programm keine Syntaxfehler hat und korrekte Ausführung:

Var Mark: TextField = neue TextField();

Mark.Type = TextFieldType.DYNAMIC;

Mark.x = 200

Mark.y = 200

Mark.Width = 400;

Mark.Height = 400;

Mark.Multiline = True;

addChild(mark);

Var-Ladeprogramm: URLLoader = new URLLoader();

Var Request: URLRequest = neue URLRequest("StockXMLFileTest.xml");

Loader.Load(Request);

loader.addEventListener(Event.COMPLETE, onComplete);

Funktion onComplete(event:Event):void

{

var loader:URLLoader = event.target as URLLoader; var fileXML = new XML(loader.data);

mark.text = fileXMLquote[0].bid[0];

}

7 Klicken Sie "Film testen" im Menü "Steuerung", das XML-Position-Programm zu spielen. Beachten Sie, dass der Text im Feld Gebot im ersten Zitat Datensatz auf der Bühne (491.47) angezeigt wird.

8 Ändern das XML-Code Positionierung "mark.text = fileXML.quote[0].bid[0];" im ActionScript-Editor

Mark.Text = fileXML.quote[2].stocksymbol[0]

Beachten Sie, dass beim Testen des Films wieder das Aktiensymbol "YHOO" (die erste Stocksymbol in Angebotsdatensatzes 3) angezeigt werden.

Tipps & Warnungen

  • Im Gegensatz zu Ihrer typischen Datenbankstruktur ermöglicht eine XML-Struktur definieren Anzahl Datensätze mit Feldern, die variieren. Sie können auch Felder (Kinder) mit Kindern über ihre eigenen, wodurch diese Felder als Datensätze und Felder betreiben definieren.