Php+xml externe+xsl

Fermé
dudu - 5 oct. 2005 à 16:43
 dudu - 6 oct. 2005 à 17:57
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.
A voir également:

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.
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
5 oct. 2005 à 20:22
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
-1