Php+xml externe+xsl
dudu
-
dudu -
dudu -
Bonjour a tous.
J'aimerais afficher dans une page php, des infos provenant d'un xml externe et mis en forme grace à un fichier xsl mit sur mon site. Mais je ne parviens pas à trouver la façon de faire ;((
précisions:
le lien qui m'envoie les données xml est du type :
http://le_site_qui_menvoie_le_xml.com/unedll.dll/mots_cle_de_recherche
Arretez moi si je me trompe mais je pense que je dois créer un fichier xml incorporant les données externe + une référence à mon xsl (et là comment fait-on ???)
Pour mon fichier php, j'ai trouvé ça :
<?php
$xml_file="mon_xml.xml";
$xsl_file="mon.xsl";
$xh = xslt_create();
$file=fopen($xml_file,"r");
$xml=fread($file,16384);
fclose($file);
$file=fopen($xsl_file,"r");
$xsl=fread($file,16384);
fclose($file);
$arguments = array(
'/_xml' => $xml,
'/_xsl' => $xsl
);
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
xslt_free($xh);
print "$result";
?>
Je suis dans le flou total.
J'aimerais afficher dans une page php, des infos provenant d'un xml externe et mis en forme grace à un fichier xsl mit sur mon site. Mais je ne parviens pas à trouver la façon de faire ;((
précisions:
le lien qui m'envoie les données xml est du type :
http://le_site_qui_menvoie_le_xml.com/unedll.dll/mots_cle_de_recherche
Arretez moi si je me trompe mais je pense que je dois créer un fichier xml incorporant les données externe + une référence à mon xsl (et là comment fait-on ???)
Pour mon fichier php, j'ai trouvé ça :
<?php
$xml_file="mon_xml.xml";
$xsl_file="mon.xsl";
$xh = xslt_create();
$file=fopen($xml_file,"r");
$xml=fread($file,16384);
fclose($file);
$file=fopen($xsl_file,"r");
$xsl=fread($file,16384);
fclose($file);
$arguments = array(
'/_xml' => $xml,
'/_xsl' => $xsl
);
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
xslt_free($xh);
print "$result";
?>
Je suis dans le flou total.
A voir également:
- Php_xml.dll
- Chkdsk disque dur externe - Guide
- Xml download - Télécharger - Édition & Programmation
- Easy php - Télécharger - Divers Web & Internet
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
2 réponses
Merci crabs.
mon "allow_url_fopen" était ok. En fait je ne lisait pas la totalité du xml qui m'était envoyé.
J'ai modifié mon code php comme cela :
$file=fopen($xml_file,"r");
while (!feof($file)) {
$xml .= fread($file, 1024);
}
fclose($file);
et depuis c'est bon.
mon "allow_url_fopen" était ok. En fait je ne lisait pas la totalité du xml qui m'était envoyé.
J'ai modifié mon code php comme cela :
$file=fopen($xml_file,"r");
while (!feof($file)) {
$xml .= fread($file, 1024);
}
fclose($file);
et depuis c'est bon.
Salut,
L'avantage à utiliser les fonctions xsl embarquées (sans faire faire le XSLT par
le navigateur), c'est que tu n'as pas besoin de référencer la page de style XSL
dans le XML.
De plus configure ton PHP pour qu'il accepte les url (http&ftp) comme nom de
fichier (http://fr2.php.net/manual/fr/ref.filesystem.php cf:allow_url_fopen).
De cette manière, tu pourra charger directement le contenu de la page dans
ta mémoire comme fichier xml.
A+, crabs
L'avantage à utiliser les fonctions xsl embarquées (sans faire faire le XSLT par
le navigateur), c'est que tu n'as pas besoin de référencer la page de style XSL
dans le XML.
De plus configure ton PHP pour qu'il accepte les url (http&ftp) comme nom de
fichier (http://fr2.php.net/manual/fr/ref.filesystem.php cf:allow_url_fopen).
De cette manière, tu pourra charger directement le contenu de la page dans
ta mémoire comme fichier xml.
A+, crabs