(PHP 3 >= 3.0.8, PHP 4, PHP 5)
xml_parse_into_struct -- Μεταγλωτίζει τα XML δεδομένα σε μια δομή πίνακα
Αυτή η συνάρτηση μεταγλωττίζει ένα XML αρχείο σε 2 παράλληλες δομές
πινάκων, η μία (index
) περιέχει δείκτες
στην περιοχή των κατάλληλων τιμών στον πίνακα των
values
. Αυτές οι τελευταίες δυο παράμετροι
πρέπει να περαστούν με αναφορά.
Παρακάτω υπάρχει ένα παράδειγμα που δείχνει την εσωτερική δομή των πινάκων που παράγονται από μια τέτοια συνάρτηση. Χρησιμοποιούμε ένα απλό note tag που εμπεριέχετε μέσα σε ένα para tag, και στη συνέχεια μεταγλωτίζουμε αυτό και εκτυπώνουμε τις δομές που παράγονται:
<?php |
When we run that code, the output will be:
Index array Array ( [PARA] => Array ( [0] => 0 [1] => 2 ) [NOTE] => Array ( [0] => 1 ) ) Vals array Array ( [0] => Array ( [tag] => PARA [type] => open [level] => 1 ) [1] => Array ( [tag] => NOTE [type] => complete [level] => 2 [value] => simple note ) [2] => Array ( [tag] => PARA [type] => close [level] => 1 ) ) |
Η μεταγλώττιση που είναι Event-driven (βασισμένη στην expat library) μπορεί να γίνει περίπλοκη όταν έχετε ένα XML αρχείο που είναι περίπλοκο. Αυτή η συνάρτηση δεν παράγει ένα DOM style object, αλλά παράγει δομές που μπορούν να προσπελαστούν όπως ένα δέντρο. Συνεπώς, μπορούμε να δημιουργήσουμε objects εύκολα που αναπαριστούν δεδομένα στο XML αρχείο. Ας θεωρήσουμε το ακόλουθο XML αρχείο που αναπαριστά μια μικρή βάση δεοδμένων από πληροφορίες για αμινοξέα:
ÐáñÜäåéãìá 2. parsemoldb.php - μεταγλωττίζει το moldb.xml και των πίνακα των objects με τα μόρια
|
$db
περιέχει έναν πίνακα από
AminoAcid objects, και το αποτέλεσμα του
script επιβεβαιώνει ότι: