Ajoute le contenu avant un élément
fonctions pour l'analyse des données XML et de la mise en place d'un analyseur XML qui inclut des gestionnaires d'événements, l'analyse des options et de gestion des erreurs
XML est un format de documents structurés de données. Cette extension inclut des fonctions pour l'analyse des données XML et de la mise en place d'un analyseur XML qui inclut des gestionnaires d'événements, l'analyse des options et de gestion des erreurs.
La fonction xml_set_element_handler() spécifie les gestionnaires (fonction qui gère un événement) devant être appelées au début et à la fin d'un élément dans le document XML.
La fonction xml_set_element_handler() retourne FALSE si l'analyseur n'est pas valide ou le gestionnaire n'a pas été créé.
Le gestionnaire de départ se déclenche lorsque la balise d'ouverture d'un élément est trouvée ; le gestionnaire de fin se déclenche lorsque la balise de fermeture d'un élément est trouvée par l'analyseur.
Syntaxe
xml_set_element_handler(parser,démérrége,fin)
Paramètre | Description |
---|---|
parser | Obligatoir . Référence à l'analyseur XML qui utilise cette fonction |
démérrége | Obligatoir . nom du gestionnaire de démarrage |
fin | Obligatoir . nom du gestionnaire de fin |
La fonction spécifiée par le paramètre « démarrage » doit avoir trois paramètres :
Paramètre | Description |
---|---|
parser | Obligatoir . Référence à l'analyseur XML qui utilise cette fonction |
name | Obligatoir . nom de l’élément |
data | Obligatoir . Tableau associatif contenant les attributs de l'élément |
La fonction spécifiée par le paramètre « fin » doit avoir deux Paramètres :
Paramètre | Description |
---|---|
parser | Obligatoir . Référence à l'analyseur XML qui utilise cette fonction |
name | Obligatoir . nom de l’élément |
Trucs et astuces
Remarque : Les paramètres de démarrage et fin peuvent également être un tableau contenant une référence d'objet et un nom de méthode.
Définition et utilisation
La fonction xml_parser_create() crée un analyseur XML.
La fonction xml_parser_create() retourne un handle de ressource pour être utilisé par d'autres fonctions XML succès, ou FALSE si une erreur survient.
La fonction xml_parser_create() crée un nouvel analyseur XML et l'initialise pour l’utilisation. Une référence à un parseur valide doit être créé avant le démarrage de l'analyse. Les encodages possibles sont ISO-8859-1, US-ASCII et UTF-8. Si l'analyseur rencontre des caractères en dehors de ses limites en encodage, il renvoie une erreur.
Syntaxe
xml_parser_create(encoding)
Paramètre | Description |
---|---|
encoding | En option. Spécifie l'encodage de sortie.
Valeurs possibles : ISO-8859-1 UTF-8 US-ASCII. Note : En PHP 5, l'encodage d'entrée est détecté automatiquement. En PHP 4 et versions antérieures, ce paramètre spécifie le codage de caractères pour l'entrée et la sortie En PHP 5.0.0 et 5.0.1, l’encodage de sortie par défaut est ISO-8859-1 |
Trucs et astuces
Astuce : Pour libérer l'analyseur xml, utilisez la fonction xml_parser_free().
Astuce : Pour créer un analyseur XML avec le soutien de l'espace de noms, utilisez la fonction xml_parser_create_ns().
Définition et utilisation
La fonction xml_set_character_data_handler() définit le gestionnaire de données des caractères pour l'analyseur XML.
La fonction xml_set_character_data_handler() gère les données pour tout contenu non balisage
La fonction xml_set_character_data_handler() spécifie quelle fonction doit être appelée lorsque l'analyseur détecte des données de caractères dans le fichier XML.
La fonction xml_set_character_data_handler() renvoie la valeur TRUE sur le succès, ou FALSE si une erreur survient.
Syntaxe
xml_set_character_data_handler(parser,handler)
Paramètre | Description |
---|---|
parser | Obligatoire. Référence à l'analyseur XML qui utilise cette fonction |
handler | Obligatoire. Nom de la fonction à appelée |
La fonction spécifiée par le paramètre « handler » doit avoir deux Paramètres :
Paramètre | Description |
---|---|
parser | Obligatoire. Référence à l'analyseur XML qui utilise cette fonction |
data | Obligatoire. Données de type caractère |
Trucs et astuces
Remarque : Le paramètre handler peut également être un tableau contenant une référence d'objet et un nom de méthode.
Définition et utilisation
La fonction xml_get_current_line_number() obtient le numéro de la ligne courante d'un analyseur XML.
La fonction xml_get_current_line_number() renvoie le nombre de ligne actuel passé avec succès, ou FALSE si une erreur survient.
Syntaxe
xml_get_current_line_number(parser)
Paramètre | Description |
---|---|
parser | Obligatoire . Nom de l’analyseur |
Définition et utilisation
La fonction xml_error_string() obtient la description d'erreur XML parser.
La fonction xml_error_string() retourne la description de l'erreur sur le succès, ou FALSE si une erreur survient.
Syntaxe
xml_error_string(errorcode)
Paramètre | Description |
---|---|
errorcode | Obligatoire. Spécifie le code d'erreur à utiliser. Le code d'erreur est la valeur renvoyée par la fonction xml_get_error_code() |
Définition et utilisation
La fonction xml_parser_free() libère un un analyseur XML.
La fonction xml_parser_free() renvoie la valeur TRUE sur le succès, ou FALSE si une erreur survient.
Syntaxe
xml_parser_free(parser)
Paramètre | Description |
---|---|
parser | Obligatoire. Nom de l’analyseur à libérer |
Trucs et astuces
Astuce : Pour créer un analyseur XML utiliser la fonction xml_parser_create().
Exemple
Le fichier livre.xml utilisé dans cet exemple est le suivant
Exemple : Copier le code
<?xml version="1.0" encoding="ISO-8859-1"?> <livres> <titre>XML : Cours et exercices </titre> <auteur>Alexandre Brillant</auteur> <description>Cet ouvrage a pour but de vous aider à comprendre les techniques XML. L'ouvrage traite XML en profondeur afin de vous faire comprendre la mécanique XML et de vous donner tous les instruments pour travailler efficacement sans perdre le temps dans le jargon parfois inutilement complexe. </description> <prix>EUR 28,79</prix> <lien>http://www.amazon.fr/gp/product/2212126913/ref=as_li_tf_tl?ie=UTF8&camp=1642&creative=6746&creativeASIN=2212126913&linkCode=as2&tag=apprendrecree-21</lien> <titre>XML par la pratique - Bases indispensables, concepts et cas pratiques (2ième édition)</titre> <auteur>Thierry BOULANGER</auteur> <description>Ce livre sur XML est destiné à toute personne concernée par le stockage ou l'échange de données structurées. Il détaille les concepts fondamentaux de XML et s'attache à les présenter au travers de cas pratiques faciles à implémenter. Après la découverte de la syntaxe du langage et les normes de validité d'un document XML, vous serez en mesure de créer vos premiers documents XML en vous appuyant sur les contextes suivants : - Concevoir des documents et des grammaires XML simples, en employant les DTD, les Schémas XML, RELAX NG. - Lier des documents XML entre eux avec Xlink et XPointer. - Extraires les information d'un document XML en réalisant des requêtes XQuery. - Mettre en forme des documents XML grâce à la recommandation XSL (eXtensible StyleSheet Language). - S'initier aux technologies XSLT et XSL-FO et créer un document PDF à partir de données XML. ...</description> <prix>EUR 25,77</prix> <lien>http://www.amazon.fr/gp/product/274604644X/ref=as_li_tf_tl?ie=UTF8&camp=1642&creative=6746&creativeASIN=274604644X&linkCode=as2&tag=apprendrecree-21</lien> <titre>Schémas XML [Broché]</titre> <auteur>Jean-Jacques Thomasson</auteur> <description> L'objectif de ce livre est de vous rendre rapidement opérationnel dans la manipulation des schémas XML, qu'il s'agisse d'exploiter des schémas existants, de convertir des DTD en schémas ou de créer des schémas adaptés à vos propres besoins métier. Acquérir une bonne méthodologie de conception de schémas XML. Vous apprendrez dans une première partie à décrypter les concepts introduits par la recommandation XML Schema du W3C et à les mettre en œuvre à travers des exemples tirés de cas réels. Vous trouverez dans la seconde partie des conseils méthodologiques et des règles de bonnes pratiques pour la conception de schémas, ainsi qu'une présentation de logiciels mettant en œuvre XML Schema.</description> <prix>EUR 43,32</prix> <lien>http://www.amazon.fr/gp/product/2212111959/ref=as_li_tf_tl?ie=UTF8&camp=1642&creative=6746&creativeASIN=2212111959&linkCode=as2&tag=apprendrecree-21</lien> </livres>
Exemple : Copier le code
<?php $parser=xml_parser_create(); function démérrége($parser,$element_name,$element_attrs) { switch($element_name) { case "TITRE": echo "Ttre : "; break; case "AUTEUR": echo "Auteur: "; break; case "DESCRIPTION": echo "Description: "; break; case "PRIX": echo "Prix : "; break; case "LIEN": echo "URL : "; break; } } function fin($parser,$element_name) { echo "<br/>"; } function char($parser,$data) { echo $data; } xml_set_element_handler($parser,"démérrége","fin"); xml_set_character_data_handler($parser,"char"); $fp=fopen("livre.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Erreur: %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 sera :
chapitre précédent | sommaire | chapitre suivant |