|
6.Le langage PHP
6.18.Parser un document XML
6.18.3.A partir de l'arbre DOM
6.18.3.1.Chargement de l'arbre DOM
L'analyse d'un flux XML à partir de son arbre DOM passe par l'instanciation d'un objet
[c'est quoi?]
DOMDocument. Une fois l'objet instancié, il est possible de charger un flux XML via la méthode
En cas d'erreur, ces fonctions "load" retourneront FALSE.
Autrement dit, parser un document XML avec DOM commence par quelque chose comme
ou
<?php $fichier = "monfichier.xml"; $dom = new DOMDocument(); if (!$dom->load($fichier)) { echo "Impossible de charger le fichier XML"; } ?> |
<?php $xml = '<?xml version="1.0"?><racine>...</racine>'; $dom = new DOMDocument(); if (!$dom->loadXML($fichier)) { echo "Impossible de charger le fichier XML"; } ?> |
6.18.3.2.Recherche d'une balise dans l'arbre DOM
Une fois l'arbre chargé, il est possible d'atteindre la ou les balises portant un nom donné via la méthode getElementsByTagName(). Cette méthode retourne alors une liste de noeuds sous forme d'un objet DOMNodeList. Cette objet propose, entre autres, les attributs et méthodes suivants:
|
Pour déterminer le nombre d'articles dans le flux RSS, il faut rechercher les balises <item>
Ce qui donne
|
<?php
$fichier = "http://www.phpfacile.com/exemples_live/fluxrss.rss"; $dom = new DOMDocument(); if (!$dom->load($fichier)) { die("Impossible de charger le fichier XML"); } $itemList = $dom->getElementsByTagName("item"); echo "Il y a ".$itemList->length." articles dans le flux RSS"; ?> |
|
6.18.3.3.Données d'un noeud DOM
Le contenu textuel d'une balise peut être obtenu via l'attribut nodeValue d'un noeud (lorsque le noeud est de type "element" ce qui est le cas pour les noeuds retournés par getElementsByTagName()).



domdocument/domnodelist_length.php
