Tutoriel PHP XML: créer, analyser, lire avec un exemple

Table des matières:

Anonim

Qu'est-ce que XML?

XML est l'acronyme de Extensible Markup Language.

XML est utilisé pour structurer, stocker et transporter des données d'un système à un autre.

XML est similaire au HTML.

Il utilise des balises d'ouverture et de fermeture.

Contrairement au HTML, XML permet aux utilisateurs de définir leurs propres balises.

Dans ce didacticiel, vous apprendrez-

  • Qu'est-ce que DOM?
  • Analyseurs XML
  • Pourquoi utiliser XML?
  • Exemple de document XML
  • Comment lire du XML en utilisant PHP
  • Comment créer un document XML en utilisant PHP

Qu'est-ce que DOM?

DOM est l'acronyme de Document Object Model.

C'est une norme indépendante de toutes les plates-formes et du langage qui définit comment accéder aux données et les manipuler dans;

  • HTML
  • XHTML
  • XML

DOM XML est utilisé pour accéder et manipuler des documents XML. Il considère le document XML comme une arborescence.

Analyseurs XML

Un analyseur XML est un programme qui traduit le document XML en un objet DOM (Document Object Model) XML.

L'objet XML DOM peut ensuite être manipulé à l'aide de JavaScript, Python et PHP, etc.

Le mot-clé CDATA qui est l'acronyme de Données de caractère (non analysées) est utilisé pour ignorer les caractères spéciaux tels que «<,>» lors de l'analyse d'un document XML.

Pourquoi utiliser XML?

  • Les services Web tels que SOAP et REST utilisent le format XML pour échanger des informations. Apprendre ce qu'est XML et son fonctionnement vous procurera un avantage concurrentiel en tant que développeur, car les applications modernes utilisent largement les services Web.
  • Les documents XML peuvent être utilisés pour stocker les paramètres de configuration d'une application
  • Il vous permet de créer vos propres balises personnalisées qui le rendent plus flexible.

Exemple de document XML

Supposons que vous développiez une application qui récupère les données d'un service Web au format XML.

Vous trouverez ci-dessous un exemple de l'aspect du document XML.

Joe Paul
CEOTasha Smith
Finance Manager

ICI,

  • "" Spécifie la version xml à utiliser et l'encodage
  • «» est l'élément racine.
  • «… » sont respectivement les éléments enfants de l'administration et des ventes.

Comment lire du XML en utilisant PHP

Écrivons maintenant le code qui lira le document XML des employés et affichera les résultats dans un navigateur Web. Index.php


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

ICI,

  • "$ Xml = simplexml_load_file ('Employees.xml');" utilise la fonction simplexml_load_file pour charger le nom de fichier employés.xml et affecter le contenu à la variable de tableau $ xml.
  • "$ List = $ xml-> record;" obtient le contenu du nœud d'enregistrement.
  • «For ($ i = 0; $ i
  • "$ List [$ i] -> attributes () -> man_no;" lit l'attribut man_no de l'élément
  • "$ List [$ i] -> nom;" lit la valeur de l'élément enfant name
  • "$ List [$ i] -> position;" lit la valeur de l'élément enfant position

Tester notre application

En supposant que vous ayez enregistré le fichier index.php dans le dossier phptus / xml, accédez à l'URL http: //localhost/phptuts/xml/index.php

Comment créer un document XML en utilisant PHP

Nous allons maintenant voir comment créer un document XML en utilisant PHP.

Nous utiliserons l'exemple ci-dessus dans l'arborescence DOM.

Le code suivant utilise la classe PHP intégrée DOMDocument pour créer un document XML.

encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>

ICI,

  • "$ Dom = nouveau DOMDocument ();" crée une instance de la classe DOMDocument.
  • "$ Dom-> encoding = 'utf-8';" définit le codage du document sur utf-8
  • "$ Dom-> xmlVersion = '1.0';" spécifie le numéro de version 1.0
  • "$ Dom-> formatOutput = true;" garantit que la sortie est bien formatée
  • «$ Root = $ dom-> createElement ('Movies');» crée le nœud racine nommé Movies
  • «$ Attr_movie_id = new DOMAttr ('movie_id', '5467');» définit l'attribut id du film du nœud Films
  • «$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')» crée le nœud enfant du nœud Movies. ElementName spécifie le nom de l'élément, par exemple Titre. ElementValue définit la valeur du nœud enfant, par exemple The Campaign.
  • "$ Root-> appendChild ($ movie_node);" ajoute les éléments movie_node au nœud racine Movies
  • "$ Dom-> appendChild ($ root);" ajoute le nœud racine au document XML.
  • "$ Dom-> save ($ xml_file_name);" enregistre le fichier XML dans le répertoire racine du serveur Web.
  • “Echo ''. $ nom_fichier_xml. " a été créé avec succès"; " crée le lien vers le fichier XML.

Tester notre application

En supposant que vous ayez enregistré le fichier create_movies_list dans le dossier phptuts / xml, accédez à l'URL http: //localhost/phptuts/xml/create_movies_list.php

Cliquez sur le lien movies_list_xml

Résumé

  • XML est l'acronyme de Extensible Markup Language
  • XML peut être utilisé pour échanger des informations entre les systèmes ou stocker les paramètres de configuration d'une application, etc.
  • DOM est l'acronyme de Document Object Model. XML DOM voit le document XML comme une arborescence
  • Un analyseur XML est un programme qui traduit XML un document XML en une arborescence DOM semblable à un document.
  • CDATA est utilisé pour ignorer les caractères spéciaux lors de l'analyse des documents XML.
  • PHP utilise le simplexml_load_file pour lire les documents XML et renvoyer les résultats sous forme de tableau numérique
  • Classe PHP DOMDocument pour créer des fichiers XML.