8797 sujets

Développement web côté serveur, CMS

Bonjour.

Tout est dans le titre. Sauf que ça ne marche pas vraiment.

Dans l'ordre:
1/ Je récupère mon RSS depuis wordpress à l'adresse http://monsite.com/wordpress/?feed=rss

2/ Je crée un fichier xsl pour le remettre en page. jusque là tout va bien.

3/un bout de php pour récupérer mon xml/rss, le passer à la moulinette avec mon xsl, puis l'afficher.
C'est là que je galère. voici le php que j'ai trouvé:

<?php
$xh = xslt_create();

$file=fopen("[b]mon.xml[/b]","r");
$xml=fread($file,16384);
fclose($file);

$file=fopen("[b]mon.xsl[/b]","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 remplace normalement mon.xsl par mon xsl. impec. Smiley sweatdrop
sauf que je ne récupère pas de *.xml de wordpress, juste le lien ?feed=rss.
Et si je colle le lien de mon rss a la place de mon.xml, je récupère
Warning: Sablotron error on line 1: XML parser error 3: no element found in /homez.354/monsite/test_rss.php on line 17, soit la ligne
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
Modérateur
Bonjour.

Premièrement tu dis que ton problème viens du fait que tu n'arrives pas à récupérer le xml mais tu ne montres pas cette partie du code ...

Ensuite pourquoi utilises-tu des fread et un tableau d'arguments, alors qu'un xslt_process($xh, 'mon.xml', 'mon.xsl') allégerait agréablement ton code? (rtfm ?)
bien vu, c'est vachement plus léger.

Le problème est donc de récupérer un xml depuis un rss wordpress, puisque si je remplace mon.xml par monsite/wordpress/?feed=rss, je sors une erreur.