La fonction xml_set_element_handler() spécifie la fonction à appeler au début et à la fin des éléments d'un document XML.
En cas de succès, la fonction renvoie TRUE. En cas d'échec, renvoie FALSE.
xml_set_element_handler (analyseur, début, fin)
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie l'analyseur XML à utiliser. |
commencer | Requis. Spécifie une fonction à appeler au début d'un élément. |
fin | Requis. Spécifie la fonction à appeler à la fin de l'élément. |
La fonction spécifiée par le paramètre "start" doit avoir trois paramètres :
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie une variable contenant l'analyseur XML qui appelle le processeur. |
nom | Requis. Spécifie une variable contenant le nom (sous forme de chaîne) de l'élément dans le fichier XML qui déclenche cette fonction. |
données | Requis. Spécifie un tableau contenant les attributs d'élément (sous forme de chaînes) dans le fichier XML. |
La fonction spécifiée par le paramètre "end" doit avoir deux paramètres :
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie une variable contenant l'analyseur XML qui appelle le processeur. |
nom | Requis. Spécifie une variable contenant le nom (sous forme de chaîne) de l'élément dans le fichier XML qui déclenche cette fonction. |
Remarque : Les paramètres de début et de fin peuvent être un tableau contenant des références d'objet et des noms de méthode.
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Note --<br />"; "À": echo "À: "; cas "DE": echo "De: "; cas "HEADING": echo "En-tête: "; echo "Message : "; } }function stop($parser,$element_name) { echo "<br />"; }function char($parser,$data) { echo $data; ,"stop");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) ou die (sprintf("Erreur XML : %s à la ligne %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
Le résultat du code ci-dessus ressemble à ceci :
-- Remarque --À : ToveFrom : JaniHeading : ReminderMessage : Ne m'oubliez pas ce week-end !