Arrakis99 | Voilà pour analyser un fichier XML j'utilise les fonctions expat et dans la partie startElement, je créé un tableau multidimensionnel qui au final contient toutes les valeurs de mes balises.
Le seul problème est que je n'arrive pas quand j'appelle la function analyse () à récupérer mon tableau pour le traiter après.
Car une fois sorti de la function startElement le tableau devient invisible et si je fait un return de mon tableau à la fin de startElement, je ne sais comment le récupérer dans analyse() pour ensuite faire le return général permettant de l'exploiter hors de la fonction analyse().
Voici le code d'une fonction approchante pour résumer le problème:
Code :
- <?php
- function analyse (){
- $file = "data.xml";
- function startElement($parser, $name, $attrs) {
- // endroit ou est créé mon tableau
- // si je fait un print_r de mon tableau tout s'affiche bien
- return $monTableau;
- //mais ou je le récupère ???
- }
- function endElement($parser, $name) {
- }
- $xml_parser = xml_parser_create();
- xml_set_element_handler($xml_parser, "startElement", "endElement" );
- if (!($fp = fopen($file, "r" ))) {
- die("could not open XML input" );
- }
- while ($data = fread($fp, 4096)) {
- if (!xml_parse($xml_parser, $data, feof($fp))) {
- die(sprintf("XML error: %s at line %d",
- xml_error_string(xml_get_error_code($xml_parser)),
- xml_get_current_line_number($xml_parser)));
- }
- }
- xml_parser_free($xml_parser);
- }
- //Ici mon tableau n'est plus visible
- return $monTableau;
- //pour le réutiliser ensuite
- ?>
|
Message édité par Arrakis99 le 29-03-2003 à 01:25:10
|