Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2007, 12h59   #1
Membre du Club
 
Inscription : août 2005
Messages : 171
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 171
Points : 40
Points : 40
Par défaut [SimpleXML] Lire un fichier XML

Bonjour,

J'aurais besoin de lire des données dans ce fichier xml :

Code xml :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="iso-8859-1"?>
<CONVEUR>
  <DATE>Wed, 07 Feb 2007 11:00:00 +0100</DATE>
  <CURRENCY>EUR</CURRENCY>
  <CURRENCY_LIST>
    <USD>1.2986</USD>
    <GBP>0.6595</GBP>
    <JPY>156.68</JPY>
    <CHF>1.6123</CHF>
    <CAD>1.535</CAD>
    <AUD>1.6696</AUD>
  </CURRENCY_LIST>
</CONVEUR>

Voici le code php que j'utilise :
Code :
1
2
3
4
5
<?php 
	$xml = simplexml_load_file ('taux-change.xml');
	$date=$xml->CONVEUR->DATE;
	echo $xml->CONVEUR->CURRENCY_LIST->USD;
?>
Visiblement, mon fichier est bien lu (si je vais un var_dump, j'ai bien le contenu du fichier qui s'affiche). Cependant, lorsque je demande d'aficher par exemple la valeur du dollars, ça ne m'affiche rien...

Quelqu'un pourrait-il m'indiquer où est mon erreur SVP?

Merci d'avance
ChriGoLioNaDor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 13h22   #2
Membre confirmé
 
Avatar de Sebou77
 
Inscription : mars 2006
Messages : 212
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2006
Messages : 212
Points : 201
Points : 201
il te manquerait pas une ligne du genre :

Code :
$flux = new SimpleXMLElement($xml);
Sebou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 14h08   #3
Membre Expert
 
Avatar de eric.pommereau
 
Homme ERIC POMMEREAU
Ingénieur intégration
Inscription : décembre 2004
Messages : 683
Détails du profil
Informations personnelles :
Nom : Homme ERIC POMMEREAU
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Ingénieur intégration
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 683
Points : 1 294
Points : 1 294
Quand tu charges un fichier xml, l'élément root correspond à ta variable ... ainsi il ne faudra pas spécifier "<CONVEUR>" dans ton exemple ...

Ce qui devrait donner:

Code :
1
2
3
<?php $xml = simplexml_load_file ('taux-change.xml'); 
$date=$xml->DATE; 
echo $xml->CURRENCY_LIST->USD; ?>
eric.pommereau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 15h27   #4
Membre du Club
 
Inscription : août 2005
Messages : 171
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 171
Points : 40
Points : 40
Citation:
Envoyé par Sebou77
il te manquerait pas une ligne du genre :

Code :
$flux = new SimpleXMLElement($xml);
Non il ne me semble pas : SimpleXMLElement est à mettre à la place de simplexml_load_file, si ton code XML est intégré à ta page php...

@eric190
En effet, mon soucis venait de là. Merci beaucoup à vous deux pour le coup de main!!
ChriGoLioNaDor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 16h48   #5
Membre Expert
 
Avatar de eric.pommereau
 
Homme ERIC POMMEREAU
Ingénieur intégration
Inscription : décembre 2004
Messages : 683
Détails du profil
Informations personnelles :
Nom : Homme ERIC POMMEREAU
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Ingénieur intégration
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 683
Points : 1 294
Points : 1 294
De rien ...

@+
eric.pommereau est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h57.


 
 
 
 
Partenaires

Hébergement Web