Bonsoir,
J'essaie de lire un fichier XML avec XMLReader en PHP.
Fichier "fichier.xml" : :
Code :
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <page>
- <title>Accueil du site</title>
- <nom>Accueil</nom>
- <code id="articles_a_la_une" dd="dd" />
- </page>
|
Script PHP : :
Code :
- $xmlReader = new XMLReader();
- $xmlReader->open('fichier.xml');
- echo '<pre>';
- while($xmlReader->read()) {
- echo 'Nom = ' . $xmlReader->name . "\n";
- echo 'Valeur = ' . $xmlReader->value . "\n";
- echo 'type = ' . $xmlReader->nodeType . "\n";
- echo '-------------------------' . "\n";
- }
- $xmlReader->close();
|
Et je me récupère :
Citation :
Nom = page
Valeur = type = 1
-------------------------
Nom = #text
Valeur =
type = 14
-------------------------
Nom = title
Valeur = type = 1
-------------------------
Nom = #text
Valeur = Accueil du site
type = 3
-------------------------
Nom = title
Valeur = type = 15
-------------------------
Nom = #text
Valeur =
type = 14
-------------------------
Nom = nom
Valeur = type = 1
-------------------------
Nom = #text
Valeur = Accueil
type = 3
-------------------------
Nom = nom
Valeur = type = 15
-------------------------
Nom = #text
Valeur =
type = 14
-------------------------
Nom = code
Valeur = type = 1
-------------------------
Nom = #text
Valeur = type = 14
-------------------------
Nom = page
Valeur = type = 15
-------------------------
|
Ce qui me dérange c'est de ne jamais voir apparaître de noeud de type XMLReader::ATTRIBUTE (code n°2).
Pour chaque noeud, je sais récupérer la valeur du premier attribut (s'il y en a) avec $xmlReader->getAttributeNo(0), mais j'aurais aimé pouvoir récupérer le nom de l'attribut : chose que je pensais possible en lisant la propriété name du noeud lorsque le noeud est du type XMLReader::ATTRIBUTE.
Bonne fin de week-end.
Message édité par _Raynor_ le 22-01-2007 à 02:14:00