IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Introduction au langage PHP 7 par l'exemple


précédentsommairesuivant

XXI. Traitement de documents XML

Image non disponible

Nous considérons le fichier XML [data.xml] suivant :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" encoding="UTF-8"?>

<tribu>
    <enseignant>
        <personne sexe="M">
            <nom>dupont</nom>
            <prenom>jean</prenom>
            <age>28</age>
            ceci est un commentaire
        </personne>
        <section>27</section>
    </enseignant>
    <etudiant>
        <personne sexe="F">
            <nom>martin</nom>
            <prenom>charline</prenom>
            <age>22</age>
        </personne>
        <formation>dess IAIE</formation>
    </etudiant>
</tribu>

Nous analysons ce document avec le script suivant :

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?php

// fichier XML à exploiter
$FILE_NAME = "data.xml";
// exploitation
$xml = simplexml_load_file($FILE_NAME);
print_r($xml);
print_r($xml->enseignant->personne['sexe']);
$nom=$xml->enseignant->personne->nom;
print "nom=$nom\n";
$sexe=$xml->enseignant->personne['sexe'];
print "sexe=$sexe\n";
$formation=$xml->etudiant->formation;
print "formation=$formation\n";
print "isset=".isset($xml->enseignant->personne->nom)."\n";
print "isset=".isset($xml->enseignant->personne->xx)."\n";

Nous utilisons ici un module PHP appelé [simpleXML] qui permet d'exploiter des documents XML.

  • ligne 6 : chargement du fichier XML ;
  • ligne 7 : affichage du document XML ;
  • ligne 8 : affichage de la valeur de l'attribut 'sexe' d'une personne enseignante : <enseignant><personne sexe='…'> ;
  • ligne 9 : affichage de la valeur de la 1re balise <enseignant><personne><nom> ;

On notera que la balise racine <tribu> n’intervient pas dans le code. Elle pourrait être n’importe quoi ;

Résultats console

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
SimpleXMLElement Object
(
    [enseignant] => SimpleXMLElement Object
        (
            [personne] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [sexe] => M
                        )

                    [nom] => dupont
                    [prenom] => jean
                    [age] => 28
                )

            [section] => 27
        )

    [etudiant] => SimpleXMLElement Object
        (
            [personne] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [sexe] => F
                        )

                    [nom] => martin
                    [prenom] => charline
                    [age] => 22
                )

            [formation] => dess IAIE
        )

)
SimpleXMLElement Object
(
    [0] => M
)
nom=dupont
sexe=M
formation=dess IAIE
isset=1
isset=
  • lignes 1-37 : le document XML sous la forme d'un objet de type [simpleXML].

Le script précédent ne nous montre pas toutes les possibilités du module [simpleXML] mais il nous suffit pour écrire une nouvelle version de l'exercice d’application.


précédentsommairesuivant

Licence Creative Commons
Le contenu de cet article est rédigé par Serge Tahé et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2019 Developpez.com.