PHP xml_parse_into_struct()

La fonction xml_parse_into_struct() est une fonction intégrée en PHP qui est utilisé pour analyser les données XML dans un tableau. Les données XML sont ‘parsées’ en deux tableau, le première est un tableau d’index qui contient des pointeurs vers l’emplacement des valeurs et le deuxième est un tableau de valeurs qui contient les données du XML analysé.
 

Syntaxe
xml_parse_into_struct(xml_parser, xml_data, values, index)

 
 

Paramètres
  • xml_parser(Obligatoire) : Spécifie l’analyseur XML à utiliser.
  • xml_data(Obligatoire) : Spécifie les données XML à analyser
  • values(Obligatoire) : Spécifie un tableau contenant les valeurs des données XML.
  • index(Optionnel) : Spécifie un tableau contenant les pointeurs vers l’emplacement des valeurs.

 

Valeur de retour

La fonction renvoie 1 en cas de succès, 0 en cas d’échec.
 

Version PHP:

4+
 

Exemple :

Supposant on la fichier XML suivant nommé « file.xml »:

<?xml version="1.0" encoding="utf-8"?> 
<person> 
    <name>Alex</name> 
    <address>Paris</address> 
    <age>25</age>
</person>

Le code suivant parse le document XML ci-dessus dans un tableau:

<?php
// Créer un analyseur XML
$parser = xml_parser_create(); 
  
// Ouvrir le fichier xml
$file = fopen("file.xml", "r"); 
  
// Lire les données XML à partir du fichier XML spécifié
$data = fread($file, 4096); 
   
// Parser les données XML dans un tableau 
xml_parse_into_struct($parser, $data, $values); 
  
// Libérer l'analyseur XML
xml_parser_free($parser); 
  
// Afficher les données XML dans un tableau
print_r($values); 
  
// Fermer le fichier
fclose($file); 
?>

 
Sortie:

Array
(
    [0] => Array
        (
            [tag] => PERSON
            [type] => open
            [level] => 1
            [value] => 
        )
    [1] => Array
        (
            [tag] => NAME
            [type] => complete
            [level] => 2
            [value] => Alex 
        )
    [2] => Array
        (
            [tag] => PERSON
            [value] => 
            [type] => cdata
            [level] => 1
        )
    [3] => Array
        (
            [tag] => PERSON
            [value] => 
            [type] => cdata
            [level] => 1
        )
    [4] => Array
        (
            [tag] => ADRESSE
            [type] => complete
            [level] => 2
            [value] => Paris
        )
    [5] => Array
        (
            [tag] => PERSON
            [value] => 
            [type] => cdata
            [level] => 1
        )
    [6] => Array
        (
            [tag] => AGE
            [type] => complete
            [level] => 2
            [value] => 25
        )
    [7] => Array
        (
            [tag] => PERSON
            [value] => 
            [type] => cdata
            [level] => 1
        )
    [8] => Array
        (
            [tag] => PERSON
            [type] => close
            [level] => 1
        )
)
Questions d'entretiens PHP

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *