Hvordan posisjon med XML i AS3

Hvordan posisjon med XML i AS3


Ved hjelp av XML-filer i Flash krever at du får tilgang til teksten i XML-koder. For å få tilgang til tekst i bestemte koder må du vite hvordan du angir plasseringen av koden i XML-filen. En XML-fil ligner en database struktur med poster og felt. Hvis en tag har tekst i det, kan det betraktes som et felt, eller barnet element. Hvis en kode ikke har tekst i det, men inneholder andre koder som har tekst i dem, kan de som inneholder koden bli tenkt på som den posten som inneholder feltene (barnet tags).

Bruksanvisning

1 Kopier og lim inn følgende XML-filen i et tekstredigeringsprogram og lagre filen som "StockXMLFileTest_01.xml."

<Xml>

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

& Lt; quote>

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

& Lt; bud> 491,47 & lt; / bud>

& Lt; spør> 491,85 & lt; / spør>

& Lt; / quote>

& Lt; quote>

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

& Lt; bud> 25.25 & lt; / bud>

& Lt; spør> 25,28 & lt; / spør>

& Lt; / quote>

& Lt; quote>

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

& Lt; bud> 17,47 & lt; / bud>

& Lt; spør> 17.48 & lt; / spør>

& Lt; / quote>

</ Xml>

Denne XML-filen første plate heter "numberofrecords." Fordi denne posten inneholder tekstdata "3", er det også et felt som er et barn av roten dokumentet posten heter "XML". De "numberofrecords" lagrer antall sitat poster i XML-filen. Den første sitatet posten har XML posisjon quote [0], har andre tilbud rekord posisjon quote [1] og den tredje posten har posisjon quote [2]. Hver quote posten har tre felt (barn). Det første budet feltet (barn) i den første posten har posisjon quote [0] .bid [0], den første bud barnet i andre sitat posten har posisjon quote [1] .bid [0] og det første budet barnet i tredje quote posten har posisjon quote [2] .bid [0].

2 Start Flash programmet. Klikk "Flash fil (Actionscript 3.0)" fra splash vinduet for å opprette en ny fil for en AS3 Flash-animasjon prosjektet. Lagre filen i samme katalog der du lagret XML-fil.

3 Skriv inn følgende kode i Actionscript 3 editor for å lage en tekstboks som vil vise innholdet i dataene i bestemt felt av spesifikke poster som du vil velge (stilling med XML):

Var mark: Textfield = new Textfield ();

mark.type = TextFieldType.DYNAMIC;

mark.x = 200

mark.y = 200

mark.width = 400;

mark.height = 400;

mark.multiline = true;

addChild (mark);

Denne koden skaper en dynamisk Textfield, som kan motta skriving og vise tekst utgang. Den Textfield heter "merke", er plassert på Flash scenen på koordinater (200,200), har en bredde på 400 piksler og har en høyde på 400 piksler. Den Textfield er satt til flere linjer slik at XML-data hentes ikke vises på en linje, men flere linjer. Den addChild metoden brukes til å plassere "merke" Textfield på Flash scenen når filmen spilles.

4 Skriv inn følgende kode i neste linje i Actionscript 3 editor for å laste inn XML-filen du lagret i Flash-programmet:

Var loader: URLLoader = new URLLoader ();

Var forespørsel: URLRequest = new URLRequest ( "StockXMLFileTest_01.xml");

loader.load (forespørsel);

loader.addEventListener (Event.COMPLETE, onComplete);

Denne koden laster inn XML-filen til Flash-programmet, slik at teksten i XML-filen tags (tekst noder) kan nås.

5 Skriv inn følgende kode som begynner på neste linje i Actionscript 3 editor for å vise teksten data i bestemte tag stillinger i XML-filen etter at XML-filen er ferdig lastet:

funksjon onComplete (hendelse: Hendelse): void

{

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

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

}

Denne koden posisjonerer XML slik at det vil peke på det første budet feltet i første sitatet record (sitat [0 [.bid [[0]) i XML-filen.

6 Kopier og lim inn følgende kode i sin helhet i ActionScipt 3 editor for å sikre at XML plassering programmet har ingen syntaksfeil og kjører på riktig måte:

Var mark: Textfield = new Textfield ();

mark.type = TextFieldType.DYNAMIC;

mark.x = 200

mark.y = 200

mark.width = 400;

mark.height = 400;

mark.multiline = true;

addChild (mark);

Var loader: URLLoader = new URLLoader ();

Var forespørsel: URLRequest = new URLRequest ( "StockXMLFileTest.xml");

loader.load (forespørsel);

loader.addEventListener (Event.COMPLETE, onComplete);

funksjon onComplete (hendelse: Hendelse): void

{

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

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

}

7 Velg «Test Movie" i "Control" -menyen til å spille XML plassering program. Legg merke til at teksten i budet feltet i første sitatet opp vises på scenen (491,47).

8 Endre XML posisjonering code "mark.text = fileXML.quote [0] .bid [0];" i Actionscript editor for å

mark.text = fileXML.quote [2] .stocksymbol [0]

Vær oppmerksom på at når du tester filmen igjen aksjesymbolet "YHOO" (den første stocksymbol i sitatet posten 3) vises.

Hint

  • I motsetning til den typiske database struktur, en XML-struktur tillater deg å definere poster med felt som varierer i antall. Du kan også definere felt (barn) med egne barn, effektivt gjør disse feltene fungere som både poster og felt.