Presentation is loading. Please wait.

Presentation is loading. Please wait.

AS3: XML Cosmin Varlan Cosmin Vârlan 1.

Similar presentations


Presentation on theme: "AS3: XML Cosmin Varlan Cosmin Vârlan 1."— Presentation transcript:

1 AS3: XML Cosmin Varlan Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 1

2 XML eXtended Markup Language Si chiar este un limbaj de marcare a datelor - vom face o mica analogie cu HTML-ul: Marcatorul … face textul ingrosat Marcatorul … face un tabel Ce ar fi daca acesti marcatori ar exprima si alte chestiuni decat formatari ale textului ? Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 2

3 XML XML permite definirea propriilor marcatori care au inteles pentru aplicatiile ce stiu sa le foloseasca. De exemplu, am putea scrie marcajele: …. Dar prietenul are un nume. Atunci in interiorul marcatorului prieten vom avea un marcator “nume” sau date de contact, zi de nastere etc: Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 3

4 XML Gigi Becali 0745.123123 becali@yahoo.com 1 04 1907 Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 4

5 XML Nu avem numai un prieten: ………………………. ………………………. ………………………. Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 5

6 XML In plus un XML trebuie sa aiba un antet care sa dea cateva informatii despre XML: Versiunea, felul encodingului: ………………………. Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 6

7 XML Sa construim un XML cu toate persoanele prezente :D Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 7

8 XML Definirea unui obiect XML in Flash: var agenda:XML = new XML(); Sau: var agenda : XML = new XML(" Varlan Nicolae Cosmin " ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 8

9 XML – sau chiar var agenda: XML = Vârlan Nicolae Cosmin 0744444470 7 7 1978 Vârlan Elena Madalina 0745555470 31 01 1982 Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 9

10 XML Pentru a afisa continutul unui obiect XML: trace( agenda.toString() ); trace( agenda.toXMLString() ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 10

11 XML XML – ul are o structura arborescenta, o singura radacina (agenda) si un numar de copii (prieten) care la randul lor pot avea alti copii (nume, prenume etc.) Reprezentarea in memoria calculatorului este realizata tot arborescent, arborele respectiv numindu-se arbore DOM (Document Object Model) Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 11

12 XML Una din metodele de navigarea in XML este prin utilizarea comenzii “child”. Metoda child are ca parametru numele copilului ce trebuie cautat. Ceea ce se returneaza este de fapt o lista (xmlList) continand toti copii cu numele dat ca parametru: Lungimea listei: trace( agenda.child( "prieten" ).length ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 12

13 XML Una din metodele de navigarea in XML este prin utilizarea comenzii “child”. Metoda child are ca parametru numele copilului ce trebuie cautat. Ceea ce se returneaza este de fapt o lista (xmlList) continand toti copii cu numele dat ca parametru: Lungimea listei: trace( agenda.child( "prieten" ).length ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 13

14 XML Putem accesa un copil indicand intre paranteze patrate indexul copilului cautat. Copilul este la randul sau un obiect XML (si xmlList-ul este un Array de XML-uri): var temp : XML = agenda.child("prieten”)[0].child( "nume“ )[0]; Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 14

15 XML Pentru a accesa componenta textuala vom utiliza.text() pentru nodul ce contine text: temp.text(); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 15

16 XML A doua metoda de construire a listei este utilizand metoda children(). Aceasta nu are nici un parametru si returneaza toti copii nodului apelant: var listaPrieteni : XMLList = agenda.children(); trace( listaPrieteni[0] ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 16

17 XML Pentru inserarea unui nod se va folosi metoda appendChild(); (pe utlima pozitie) appendChild are ca parametru un obiect de tip XML (sau un XMLList) ce va fi adaugat nodului selectat. agenda.appendChild( prietenNou ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 17

18 XML Pentru a insera copilul intr-o anumita pozitie se va utiliza insertChildAfter(): agenda.insertChildAfter(agenda.children()[0], prietenNou); (sau insertChildBefore - la fel) Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 18

19 XML Un nod poate avea unul sau mai multe atribute: valori suplimentare ce pot fi atasate marcatorului. De exemplu: …. Pentru a afla atributele unui nod vom apela metoda atributes pentru acel nod ce va returna un xmlList cu toate atributele: trace( agenda.children()[0].attributes() ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 19

20 XML Un nod poate avea unul sau mai multe atribute: valori suplimentare ce pot fi atasate marcatorului. De exemplu: …. Pentru a afla atributele unui nod vom apela metoda atributes pentru acel nod ce va returna un xmlList cu toate atributele sau utiliza “@”: trace( agenda.children()[0].attributes() ); trace( agenda.children()[0].attribute("sex") ); // m trace( agenda.children()[0].@sex ); Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 20

21 XML Adaugarea atributelor se face prin atribuire: agenda.children()[0].@ani = 30; XML-ul poate fi incarcat si dintr-un fisier extern: Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 21

22 GuestBook ?! Datele vor fi salvate intr-un fisier ca o padure de XML – uri (este cea mai simpla abordare, desi nu cea mai corecta din punctul de vedere al filosofiei XML). Vom invata sa trimitem date catre PHP, sa salvam aceste date intr-un format apropiat XML-ului, sa preluam aceste date de pe server ca un XML si sa afisam mesajele. Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 22

23 Fisier - padure de XML (mesaje.txt): ………… Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 23

24 Fisier PHP (mesaje.php): <?php echo " "; include "mesaje.txt"; echo" "; ?> Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 24

25 Fisier PHP (adauga_mesaj.php): <?php $a=$_POST['nume']; $b=$_POST['email']; $c=$_POST['mesaj']; $ip=getenv("REMOTE_ADDR"); if(!($fp = fopen("mesaje.txt", "a"))) die ("Cannot open mesaje.txt"); $a="<mesaj nume=\"".$a."\" email=\"".$b."\" mesaj=\"".$c."\" ip=\"".$ip."\" /> \n"; fwrite($fp, $a); fclose ($fp); echo "mesaj=ok"; ?> Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 25

26 Cum transmitem din AS3 ? Cosmin Vârlan http://www.infoiasi.ro/~flash/prezentari_cerc 26


Download ppt "AS3: XML Cosmin Varlan Cosmin Vârlan 1."

Similar presentations


Ads by Google