La fonction xml_parse_into_struct() analyse les données XML dans un tableau.
Cette fonction analyse les données XML en 2 tableaux :
Tableau de valeurs - contient les données du XML analysé
Tableau d'index - Contient des pointeurs vers les emplacements des valeurs dans le tableau Value
En cas de succès, la fonction renvoie 1. En cas d'échec, 0 est renvoyé.
xml_parse_into_struct(analyseur,xml,value_arr,index_arr)
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie l'analyseur XML à utiliser. |
XML | Requis. Spécifie les données XML à analyser. |
valeur_arr | Requis. Spécifie le tableau cible pour les données XML. |
index_arr | Facultatif. Spécifie le tableau cible des données d'index. |
Remarque : La fonction xml_parse_into_struct() renvoie 1 en cas de succès et 0 en cas d'échec. Ceci est différent de VRAI et FAUX, alors soyez prudent lorsque vous utilisez, par exemple, l'opérateur ===.
Fichier XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Rappel</heading><body>Don ne m'oublie pas ce week-end !</body></note>
Code PHP
<?php//fichier xml invalide$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// ouvrir un fichier et lire les données$fp = fopen($xmlfile, 'r');$xmldata = fread( $fp, 4096);xml_parse_into_struct($xmlparser,$xmldata,$values);xml_parser_free($xmlparser);print_r($values);?>
Le résultat du code ci-dessus ressemble à ceci :
Array([0] => Array ( [tag] => REMARQUE [type] => ouvert [niveau] => 1 [valeur] => )[1] => Array ( [tag] => TO [type] = > complet [niveau] => 2 [valeur] => Tove )[2] => Array ( [tag] => NOTE [valeur] => [type] => cdata [niveau] => 1 ) [3] = > Tableau ([balise] => FROM [type] => complet [niveau] => 2 [valeur] => Jani)[4] => Array ( [tag] => REMARQUE [valeur] => [type] => cdata [niveau] = > 1 ) [5] => Tableau ( [tag] => HEADING [type] => complet [niveau] => 2 [valeur] => Rappel )[6] => Array ( [tag] => NOTE [valeur ] => [saisir] => cdata [level] => 1 ) [7] => Array ( [tag] => BODY [type] => complete [level] => 2 [value] => Ne m'oubliez pas ce week-end ! )[ 8] => Array ( [tag] => NOTE [value] => [type] => cdata [level] => 1 )[9] => Array ( [tag] => NOTE [type] => close [ niveau] => 1 ))