[AS3.0] E4X - Δουλεύοντας με αρχεία xml

Λύσεις προβλημάτων για το δημοφιλές πρόγραμμα κατασκευής παρουσιάσεων στο διαδίκτυο.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Maradonna
Δημοσιεύσεις: 135
Εγγραφή: 07 Ιουν 2007 03:19
Τοποθεσία: Αθήνα
Επικοινωνία:

[AS3.0] E4X - Δουλεύοντας με αρχεία xml

Δημοσίευση από Maradonna » 10 Φεβ 2010 19:24

Το Ε4Χ (ή αλλιώς emca script for xml) είναι μία επέκταση του μοντέλου γλωσών προγραμματισμού EMCAScript η οποία υποστηρίζει τη διαχείρηση ατόφιων αρχείων (native) xml μέσω των γλωσσών προγραμματισμού που την υποστηρίζουν,συμπεριελαμβανομένου και της actionscript 3.0.

Η επέκταση αυτή ήρθε για να δώσει νέα πνοή στο πώς δουλεύουμε με το xml στο flash καθώς απλοποιεί σε σημαντικό βαθμό τη διαδικασία σε σχέση με την προηγούμενη έκδοση της as (2.0) οπου δεν περιείχε την επέκταση Ε4Χ.

Για να κατασκευάσουμε ένα αρχείο xml προγραμματικά αρκεί με πολύ λίγες γραμμές κώδικα να κατασκευάσουμε ένα νέο αντικείμενο XML.

Κώδικας: Επιλογή όλων

var neoXML&#58;XML = <freestuffUser>
  <username>Maradonna</username>
   <posts>97</posts>
   <age>22</age>
 </freestuffUser>;
Μπορούμε να κατασκευάσουμε ένα απλό string με σύνταξη xml και να τοποθετήσουμε το όνομα της μεταβλητής εντός της συνάρτησης του xml αντικειμένου.

Κώδικας: Επιλογή όλων

var keimeno&#58;string = "<freestuffUser><username>Maradonna</username><posts>97</posts><age>22</age></freestuffUser>";
var toXMLmou&#58;XML = new XML&#40; keimeno &#41;;
Εάν θέλω να το xml που παραγω να περιέχει τιμές μεταβλητών που αλλάζουν,χρησιμοποιώ {} εντός του tag που επιθημώ στο xml.

Κώδικας: Επιλογή όλων

var fs_Username&#58;String = "Maradonna";
var fs_UserAge&#58;String = "22";
var fs_UserNumPosts&#58;String = "97";
var neoXML&#58;XML = <freestuffUser>
 <username>&#123;fs_Username&#125;</username>
  <posts>&#123;fs_UserAge&#125;</posts>
  <age>&#123;fs_UserNumPosts&#125;</age>
 </freestuffUser>;
Για να προσθέσω ένα νέο ELEMENT στο xml structure:

Κώδικας: Επιλογή όλων

var fs_userXML&#58;XML = <freestuffUser />;
fs_userXML.username =  "Maradonna";
fs_userXML.posts=  "97";
fs_userXML.age=  "22";
Για να προσθέσω ATTRIBUTES σε κάποιο element στο xml structure:

Κώδικας: Επιλογή όλων

var fs_userXML&#58;XML = <freestuffUser />;
fs_userXML.username =  "Maradonna";
fs_userXML.posts=  "97";
fs_userXML.age=  "22";
fs_userXML.posts.@dateCaptured =  "10.02.2010";
trace&#40;fs_userXML&#41;;
Το οποίο θα παράγει ένα xml της μορφής
<freeStuffUser>
<username>Maradonna</username>
<age>22</age>
<posts dateCaptured="10.02.2010">97</posts>
</freeStuffUser>
Μπορούμε επίσης να φτιάξουμε δυναμικά τα attributes απο μεταβλητές μας,χρησιμοποιόντας syntax ιδιο με εκείνο της array [].
Έστω οτι θέλω να κάνω δυναμικά το attribute @dateCaptured

Κώδικας: Επιλογή όλων

fs_userXML.posts.@&#91;lang_DC&#93; = "10.02.2010";
όπου lang_DC μία μεταβλητή που καλεί πχ διαφορετική γλώσσα στην ονομασία του attribute.Αυτό μπορεί φυσικά να επεκτείνει κατα πολύ τις δυνατότητες κατασκευής του xml μας.

Στο δεύτερο μέρος που θα ακολουθήσει..
-Ε4Χ πρόσβαση στα elements και attributes και τεχνικές looping
-XML List object και που μας χρησιμευει
-Δουλεύοντας και έχοντας πρόσβαση σε εξωτερικά αρχεία xml
- Πρόσβαση σε elements με <[CDATA]/>
Εικόνα
Code is poetry

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27626
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

[AS3.0] E4X - Δουλεύοντας με αρχεία xml

Δημοσίευση από cordis » 10 Φεβ 2010 19:27

σκοράρει σήμερα ο Maradonna! :D
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
Maradonna
Δημοσιεύσεις: 135
Εγγραφή: 07 Ιουν 2007 03:19
Τοποθεσία: Αθήνα
Επικοινωνία:

[AS3.0] E4X - Δουλεύοντας με αρχεία xml

Δημοσίευση από Maradonna » 10 Φεβ 2010 19:30

Ειχα χρονο και ειπα να μοιρασω λιγη γνωση και εγω
Εικόνα
Code is poetry

Απάντηση

Επιστροφή στο “Flash γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης