Latest web development tutorials
×

PHP cours

PHP cours PHP Brève introduction PHP installer PHP grammaire PHP variable PHP echo/print PHP Types de données PHP constante PHP chaîne PHP opérateurs PHP If...Else PHP Switch PHP tableau PHP Tri d'un tableau PHP Superglobales PHP While circulation PHP For circulation PHP fonction PHP Variables magiques PHP Namespaces PHP Object-Oriented

PHP forme

PHP forme PHP Authentification Forms PHP forme - Les champs obligatoires PHP forme - email de vérification et d'URL PHP Complète instance de formulaire PHP $_GET variable PHP $_POST variable

PHP Tutorial avancée

PHP Les tableaux multidimensionnels PHP date PHP contenir PHP fichier PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sécurité E-mail PHP Error PHP Exception PHP filtre PHP filtre avancé PHP JSON

PHP 7 Nouvelles fonctionnalités

PHP 7 Nouvelles fonctionnalités

PHP Base de données

PHP MySQL Brève introduction PHP MySQL raccordement PHP MySQL La création d'une base de données PHP MySQL Créer une table de données PHP MySQL Insérer des données PHP MySQL Insérez des données multiples PHP MySQL Déclarations préparées PHP MySQL Lire les données PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Brève introduction AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en temps réel AJAX RSS Reader AJAX vote

PHP Manuel de référence

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Traitement de l'image PHP RESTful

PHP XML Expat parser

Built-in PHP Expat analyseur permet de traiter des documents XML.


Qu'est-ce que XML?

XML est utilisé pour décrire des données et de se concentrer sur les données Oui. un fichier XML décrivant la structure des données.

En XML, il n'y a pas de balises prédéfinies. Vous devez définir vos propres balises.

Pour en savoir plus sur XML, s'il vous plaît visitez notre tutoriel XML .


Que Expat oui?

Pour lire et mettre à jour - créer et processus - un document XML, vous avez besoin d'un analyseur XML.

Il existe deux types de base de parseurs XML:

  • analyseur à base d'arbres: Cet analyseur transforme un document XML en une structure arborescente. Il analyse l'ensemble du document, et donne accès aux éléments de l'arbre, comme le modèle objet de document (DOM).
  • analyseur basé sur des événements: Le document XML comme une série d'événements. Quand un événement spécifique se produit, l'analyseur va appeler la fonction à traiter.

analyseur Expat est analyseur basé sur les événements.

basé sur des événements parser mettant l'accent sur le contenu d'un document XML, plutôt que de leur structure. Pour cette raison, l'analyseur basé sur un événement peut accéder aux données plus rapide que l'analyseur arborescente.

Considérons le fragment XML suivant:

<from>Jani</from>

analyseur basé sur des événements rapporte le XML ci-dessus comme une série de trois événements:

  • élément de départ: de
  • Démarrer section CDATA, valeur: Jani
  • Fermer élément: de

exemple XML ci-dessus contient XML bien formé. Mais cet exemple ne sont pas XML valide, parce que la déclaration de type de document (DTD) est pas associé.

Cependant, lorsque vous utilisez l'analyseur Expat, cela ne fait aucune différence. analyseur Expat est pas vérifié la validité, ignorer toute DTD.

En tant que non-validation de l'analyseur XML basé sur les événements, Expat rapide et léger, très approprié pour PHP applications Web.

Remarque: le document XMLdoit être bien formé, sinon Expat va générer une erreur.


installer

fonctions d'analyseur XML Expat font partie du noyau de PHP. Aucune installation nécessaire pour utiliser ces fonctions.


fichier XML

Le fichier XML ci-dessous sera utilisé dans notre exemple:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Initialisation de l'analyseur XML

Nous voulons initialiser l'analyseur XML en PHP, définir processeur pour différents événements XML, puis analyser le fichier XML.

Exemples

<?php
//Initialize the XML parser
$parser=xml_parser_create();

//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
{
switch($element_name)
{
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}

//Function to use at the end of an element
function stop($parser,$element_name)
{
echo "<br>";
}

//Function to use when finding character data
function char($parser,$data)
{
echo $data;
}

//Specify element handler
xml_set_element_handler($parser,"start","stop");

//Specify data handler
xml_set_character_data_handler($parser,"char");

//Open XML file
$fp=fopen("test.xml","r");

//Read data
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

//Free the XML parser
xml_parser_free($parser);
?>

Le code ci-dessus va afficher:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

Comment ça marche:

  1. Par xml_parser_create () initialise l'analyseur XML
  2. Créer une fonction différente de gestionnaire d'événements
  3. Ajouter xml_set_element_handler () pour définir, qui fonctionnent à effectuer lorsque l'analyseur rencontre les balises de début et de fin
  4. Ajouter xml_set_character_data_handler () pour définir, qui fonctionnent à effectuer lorsque l'analyseur rencontre des données de caractère
  5. Par xml_parse () pour analyser le fichier "test.xml"
  6. Dans le cas où il y a une erreur, puis ajoutez xml_error_string () pour convertir la description XML de texte d'erreur
  7. Appelez xml_parser_free () pour libérer attribué à xml_parser_create () La mémoire de fonction

Plus d'informations PHP Expat analyseur

Pour plus d' informations sur les fonctions PHP Expat, visitez notre PHP XML Parser Manuel de référence .