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 27/05/2008, 13h21   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 29
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 29
Points : 7
Points : 7
Par défaut [SimpleXML] Accéder à un élément d'un fichier XML

Salut à tous

j'ai un fichier xml du type
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 <?xml version="1.0" encoding="UTF-8" ?> 
- <gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
  <gesmes:subject>Reference rates</gesmes:subject> 
- <gesmes:Sender>
  <gesmes:name>European Central Bank</gesmes:name> 
  </gesmes:Sender>
- <Cube>
- <Cube time="2008-05-26">
  <Cube currency="USD" rate="1.5761" /> 
  <Cube currency="JPY" rate="162.97" /> 
  </Cube>
  </Cube>
  </gesmes:Envelope>
j'ai un formulaire en php qui affiche la liste des pays suivant le pays je récupére son code comme USD ou encore JPY à partir de là je dois récupérer sa valeur dans le fichier xml (rate)

j'ai essayé plusieurs solution du style
Code :
1
2
$xml = simplexml_load_file('http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml');
$code = $xml->xpath('//*');
mais sans résultat y a t-il une solution pour affiche la valeur de rate suivant la valeur de currency que je lui fourni ? par exemple je lui dis que le pays est USD il doit me dire que la valeur est 1.5761
domishao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2009, 15h00   #2
Invité de passage
 
Inscription : mai 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 1
Points : 1
Points : 1
Essaye çà

Code :
1
2
3
4
5
$flux=simplexml_load_file('http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml');
foreach($flux->Cube->Cube->Cube as $cube)
{
echo $cube['currency']." -> ".$cube['rate']."<br />";
}
ca devrait te donner çà

USD -> 1.5761
JPY -> 162.97

il ne te resteras plus qu'à faire une boucle pour comparer la valeur de $cube['currency'] avec la valeur que tu cherches
phoenix44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2009, 00h53   #3
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Pour cherche le <Cube> dont currency vaut $country :

Code :
$xpath = "//Cube[@currency='$country']" ;
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h44.


 
 
 
 
Partenaires

Hébergement Web