Maison  >  Article  >  développement back-end  >  Analyseur XML PHP

Analyseur XML PHP

PHPz
PHPzoriginal
2024-08-29 13:09:541079parcourir

L'analyseur PHP XML permet de lire, créer, mettre à jour et manipuler des documents XML. Le langage XML est utilisé pour structurer le partage des données entre les sites Web. Son extension utilise un analyseur Expect XML. Les fonctions XML analysent les documents XML, mais ne les valident pas. Il existe deux types d'analyseurs XML en PHP : les analyseurs à trois bases et les analyseurs basés sur les événements. L'Expat est l'analyseur basé sur les événements ; c'est un analyseur basé sur les événements (appelez la fonction de gestionnaire lorsqu'un événement se produit), c'est un analyseur non validant (ne valide pas et ignore le lien DTD d'un document, mais si un document n'est pas correctement formé, alors il se terminera et lancera un message d'erreur), il convient donc aux applications Web et est rapide. L'installation de l'analyseur XML n'est pas requise pour PHP car elle fait partie du noyau PHP.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

La liste des constantes de l'analyseur PHP XML est –

  1. XML_ERROR_NONE – Type de données entier.
  2. XML_ERROR_SYNTAX – Type de données entier.
  3. XML_ERROR_NO_MEMORY – Type de données entier.
  4. XML_ERROR_INVALID_TOKEN – Type de données entier.
  5. XML_ERROR_NO_ELEMENTS – Type de données entier.
  6. XML_ERROR_UNCLOSED_TOKEN – Type de données entier.
  7. XML_ERROR_PARTIAL_CHAR – Type de données entier.
  8. XML_ERROR_TAG_MISMATCH – Type de données entier.
  9. XML_ERROR_DUPLICATE_ATTRIBUTE – Type de données entier.
  10. XML_ERROR_UNDEFINED_ENTITY – Type de données entier.
  11. XML_ERROR_JUNK_AFTER_DOC_ELEMENT – Type de données entier.
  12. XML_ERROR_PARAM_ENTITY_REF – Type de données entier.
  13. XML_ERROR_RECURSIVE_ENTITY_REF – Type de données entier.
  14. XML_ERROR_ASYNC_ENTITY – Type de données entier.
  15. XML_ERROR_BAD_CHAR_REF – Type de données entier.
  16. XML_ERROR_MISPLACED_XML_PI – Type de données entier.
  17. XML_ERROR_BINARY_ENTITY_REF – Type de données entier.
  18. XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF – Type de données entier.
  19. XML_ERROR_UNKNOWN_ENCODING – Type de données entier.
  20. XML_ERROR_INCORRECT_ENCODING – Type de données entier.
  21. XML_ERROR_EXTERNAL_ENTITY_HANDLING – Type de données entier.
  22. XML_ERROR_UNCLOSED_CDATA_SECTION – Type de données entier.
  23. XML_OPTION_CASE_FOLDING – Type de données entier.
  24. XML_OPTION_TARGET_ENCODING – Type de données entier.
  25. XML_OPTION_SKIP_TAGSTART – Type de données entier.
  26. XML_OPTION_SKIP_WHITE – Type de données entier.
  27. XML_SAX_IMPL – Chaîne de type de données.

Fonctions de l'analyseur XML PHP

Les fonctions de PHP XML Parser sont :

  • utf8_decode() – Cette fonction est utilisée pour décoder les caractères d'une chaîne UTF-8 en ISO-8859-1.
  • utf8_encode() – Cette fonction est utilisée pour coder les caractères d'une chaîne ISO-8859-1 en UTF-8.
  • xml_get_current_column_number() – Cette fonction est utilisée pour obtenir le numéro de colonne actuel de l'analyseur XML.
  • xml_get_current_byte_index() – Cette fonction est utilisée pour obtenir l'index d'octet actuel pour l'analyseur XML.
  • xml_get_current_line_number() – Cette fonction est utilisée pour obtenir le numéro de ligne actuel pour l'analyseur XML.
  • xml_error_string() – Cette fonction est utilisée pour obtenir une erreur, le cas échéant, dans l'analyseur XML.
  • xml_get_error_code() – Cette fonction est utilisée pour obtenir un code d'erreur le cas échéant dans l'analyseur XML.
  • xml_parse() – Cette fonction est utilisée pour effectuer une opération d'analyse sur un document XML.
  • xml_parse_into_struct() – Cette fonction est utilisée pour analyser des données XML dans un tableau.
  • xml_parser_create() – Cette fonction est utilisée pour créer un analyseur XML
  • xml_parser_create_ns() – Cette fonction est utilisée pour créer un analyseur XML avec l'espace de noms.
  • xml_parser_free() – Cette fonction est utilisée pour libérer un analyseur XML.
  • xml_parser_set_option() – Cette fonction est utilisée pour configurer une option dans un analyseur XML.
  • xml_parser_get_option() – Cette fonction est utilisée pour obtenir les options d'un analyseur XML.
  • xml_set_default_handler() – Cette fonction est utilisée pour définir le gestionnaire de données par défaut dans l'analyseur XML.
  • xml_set_character_data_handler() – Cette fonction est utilisée pour définir le gestionnaire de données de caractères dans l'analyseur XML.
  • xml_set_end_namespace_decl_handler() – Cette fonction est utilisée pour configurer la fin du gestionnaire de déclaration d'espace de noms de l'analyseur XML.
  • xml_set_external_entity_ref_handler() – Cette fonction est utilisée pour configurer le gestionnaire de référence d'entité externe de l'analyseur XML.
  • xml_set_object() – Cette fonction est utilisée pour permettre à un objet d'utiliser l'analyseur XML.
  • xml_set_processing_instruction_handler() – Cette fonction est utilisée pour configurer le gestionnaire d'instructions de traitement de l'analyseur XML.
  • xml_set_notation_decl_handler() – Cette fonction est utilisée pour configurer le gestionnaire de déclaration de notation de l'analyseur XML.
  • xml_set_unparsed_entity_decl_handler() – Cette fonction est utilisée pour définir la fonction de gestionnaire de l'analyseur XML sur les déclarations d'entité non analysées.
  • xml_set_element_handler() – Cette fonction est utilisée pour configurer le début et la fin des gestionnaires d'éléments de l'analyseur XML.
  • xml_set_start_namespace_decl_handler() – Cette fonction est utilisée pour configurer le gestionnaire de déclaration d'espace de noms de démarrage de l'analyseur XML.

Exemple d'analyseur XML PHP

Exemple d'analyseur XML PHP pour lire un fichier XML dans un tableau –

Ensuite, nous écrivons le code PHP pour comprendre plus clairement l'analyseur PHP XML avec l'exemple suivant, où l'analyseur XML est utilisé pour lire le fichier de données XML et le stocker dans un tableau, comme ci-dessous –

Exemple n°1

Tout d'abord, nous créons le fichier de données XML sous le nom « Examplefile.xml » et générons le contenu des données sous la forme –

<?xml version="1.0" encoding="utf-8"?>
<employees status = "ok">
<record no = "100">
<name> John </name>
<position> Clerk </position>
</record>
<record no = "101">
<name> Sam </name>
<position> Sales Manager </position>
</record>
<record no = "102">
<name> Jaan </name>
<position> Sales Executive </position>
</record>
</employees>
Next create the php file as below -
<!DOCTYPE html>
<html>
<body>
<?php
// using this function to creates an XML parser
$xmlparser = xml_parser_create();
// opening the xml file to read
$file = fopen("Examplefile.xml", "r");
//freeing the memory when read is done with
$xml_data = fread($file, 4096);
// Parsing the XML data of the file into an array
xml_parse_into_struct($xmlparser,$xml_data,$values);
// This function is using to frees the XML parser
xml_parser_free($xmlparser);
// printing the values from the xml file
print_r($values);
// closing the xml file
fclose($file);
?>
</body>
</html>

Sortie :

Comme dans le programme ci-dessus, l'analyseur XML est créé, puis le fichier « Examplefile.xml » est ouvert, lu et analysé les données XML du fichier dans un tableau ; comme nous pouvons le voir, il s'imprime également dans la sortie.

Analyseur XML PHP

Conclusion

L'analyseur PHP XML permet de lire, créer, mettre à jour et manipuler des documents XML. L'analyseur XML possède les constantes et les fonctions décrites ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Lecteur XML PHPArticle suivant:Lecteur XML PHP