Version complète: sur le forum Webmaster Hub : Récupérer une variable à partir d'un fichier XML
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
goldmen
Bonjour

J'aimerais récupérer des données depuis un fichier XML externe -www.domain.com/fichier.xml
A partire de ces lignes :
<companyname>GOLD MARCH</companyname>
<last>645.70</last>
<change>+4.80</change>
<pcthange>+0.75</pcthange>
Je souhaite affecter ces chiffres à des variables PHP !

Merci de votre aide
Anonymus
Tu prends un parser xml >
http://www.galle.fr/dev/parserxml.php.txt
par exemple, que tu renommes en .php.

Tu appelles ton parser xml :
include("parserxml.php");

Tu appelles ton fichier
$fp = fopen("http://domaine.com/page.php","r");
while(! feof($fp)){
$donnees_xml .= fgets($fp);
}
fclose($fp);
$tableau_php = GetXMLTree($donnees_xml);

et tu affiches ton tableau :

print_r($tableau_php);
goldmen
Merci Anonymus de votre réponse

Je vous rappelle qu'à partir de ces lignes qui existe sur le fichier XML externe ...

<companyname>GOLD MARCH</companyname>
<last>645.70</last>
<change>+4.80</change>
<pcthange>+0.75</pcthange>

... j'aimerais rècupèrer la variable $last="645.70" et $change="+4.80"

D'après votre réponse, je ne vois pas à quel emplacement je dois appeller le fichier xml externe, et puis que contient la page que vous avez appellé "page.php" ?

Merci par avance
Anonymus
Tu copies le fichier parserxml.php.txt, que tu renommes en parserxml.php et que tu mets à la racine de ton site.

Tu créées une page, que tu appelles 'test.php', et que tu mets à la racine de ton serveur.

Dedans, tu mets le code suivant :

CODE
<?
include("parserxml.php");

$fp = fopen("http://domaine.com/page.php","r");
while(! feof($fp)){
$donnees_xml .= fgets($fp);
}
fclose($fp);
$tableau_php = GetXMLTree($donnees_xml);


print_r($tableau_php);


Après, il te reste à appeler la page en question.
Pour l'utilisation de print_r, tu jettes un oeil à la doc.

Essaie au moins ca, et reviens si vraiment ca bloque.
objectifweb
CITATION(Anonymus @ mercredi 21 mars 2007, 00h44) *
Tu copies le fichier parserxml.php.txt, que tu renommes en parserxml.php et que tu mets à la racine de ton site.

Tu créées une page, que tu appelles 'test.php', et que tu mets à la racine de ton serveur.

Dedans, tu mets le code suivant :

CODE
<?
include("parserxml.php");

$fp = fopen("http://domaine.com/page.php","r");
while(! feof($fp)){
$donnees_xml .= fgets($fp);
}
fclose($fp);
$tableau_php = GetXMLTree($donnees_xml);
print_r($tableau_php);


Après, il te reste à appeler la page en question.
Pour l'utilisation de print_r, tu jettes un oeil à la doc.

Essaie au moins ca, et reviens si vraiment ca bloque.



Bonjour,

Ca va bloquer, il manque le ?> en fin de script hypocrite.gif oups je sors ....
Pat
goldmen
Merci encore de votre réponse.

Je ne sais pas vraiment si c'est moi qui n'a rien compris ou s'il manque quelque chose au script !

J'ai fait tout ce que vous m'avez demandé, mais deux choses ne sont pas clairs :

CODE
$fp = fopen("http://domaine.com/[u]page.php[/u]","r");

Je n'ai aucune page nomée "page.php" sur la racine de mon site, et vous en avez pas parlé dans votre post.

Deuxièmement, l'objectif de tout cela est d'affichier des données d'un fichier xml d'un autre site sur une de mes pages php, ainsi, je ne vois pas ou je dois mettre l'URL du fichier XML externe à appeller (ex. www.unautresite.com/fichier.xml)

Merci
Anonymus
oups, comme tu dis :
Le ?> n'est pas obligatoire, or je n'ai pas l'habitude de mettre du html dans du php smile.gif

Ceci dit, tu peux l'ajouter wink.gif
NolanPeterson
Bonjour à tous.

Navré de faire remonter ce vieux topic, mais il correspond exactement à ma requete.

J'ai à disposition des informations xml ici : http://db.m0o.eu/export/castles.php?clanid...2c39db59a24d892

j'ai besoin de les afficher sour forme de tableau sur une page de mon espace.(espace different de la source xml)
J'ai suivi la methode citée précedement, mais ça semble ne pas fonctionner.
la page charge plusieurs minutes... puis n'affiche...rien

pour résumer j'ai :
un fichier test.php qui contient ceci :
CODE
<?php
include("parserxml.php");

$fp = fopen("http://db.m0o.eu/export/castles.php?clanid=269311947&key=87c60fd63de1247782c39db59a24d892","r");
while(! feof($fp)){
$donnees_xml .= fgets($fp);
}
fclose($fp);
$tableau_php = GetXMLTree($donnees_xml);
print_r($tableau_php);
?>

sur mon espace, ainsi que le fichier parserxml.php au meme niveau, récupéré dans ce post un peu plus haut.

merci de votre aide!
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.