Creation d'un flux RSS

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Creation d'un flux RSS

par Sethpolma » 07 févr. 2009, 19:30

En règle général, comme te l'as conseillé fab, essaye d'utiliser des classes prédéfinies, telles que SimpleXML, DomDocument ou encore XMLWriter. Elles ont été conçues par un grand nombre de développeurs, et seront donc bien plus optimisées pour ce que tu désires faire. :)

par Nad21 » 07 févr. 2009, 14:52

EN fait j'ai trouvé le hic
j'ai bien tout mis en utf8_encode
mais c'est le titre qui buggué avec 2 accents
maintenant ca fonctionne
merci
J'aurai appris qqchose aujourdh'ui

par fab » 07 févr. 2009, 14:51

Petit conseil au passage il existe dans PHP des fonctions pas assez connues je trouve qui sont très pratique pour créer des fichiers XML ::
http://fr3.php.net/xmlwriter

par @rthur » 07 févr. 2009, 14:06

Curieux pour les virgules...
Essaye de faire un utf8_encode() sur tes titres pour voir si ça passe mieux

par Nad21 » 07 févr. 2009, 12:58

voici ce que m'affiche le message d'erreur
Un caractère incorrect a été trouvé dans un contenu de texte.
Ligne : 1 Caractère : 85

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Titres, int

j'ai enlevé la virgule et ca marche
par contre moi dans mes titres j'ai des virgules !!!
y a t'il un moyen de faire autrement?
merci

par jojolapine » 07 févr. 2009, 12:34

Donne nous le XML généré (si tu arrives à le voir en regardant la source) ainsi que le message d'erreur ;)
Si ça ne marche pas , tu faits echo $xml à la fin de ton script ;)

par @rthur » 07 févr. 2009, 12:02

Bonjour,

Donne nous le XML généré (si tu arrives à le voir en regardant la source) ainsi que le message d'erreur ;)

Creation d'un flux RSS

par Nad21 » 07 févr. 2009, 11:21

Bonjour
j'ai recupéré un scrpt pour créer un flux RSS a partir d'une base de données
Je l'ai adapté a ma BDD, les connexions se font bien, a priori l'export xml se fait bien mais des que je veux visionner le fichier xml crée la page est vide et il y a une "erreur de code flux"
Je ne comprends pas ou est l'erreur, donc si quelqu'un a une piste?
merci
Nadege
<?php
 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 $xml .= '<rss version="2.0">'; 
 $xml .= '<channel>'; 
 $xml .= '<title>titre</title>';
 $xml .= '<link>http://www.monsite.com/test/</link>';
 $xml .= '<description>des</description>';
 $xml .= '<copyright>monsite</copyright>';
 $xml .= '<language>fr</language>';
 $xml .= '<image>';
 $xml .= ' <title>Titre du flux</title>';
 $xml .= ' <url>http://www.monsite.com/test/img/rss.jpg)</url>';
 $xml .= ' <link>http://www.monsite.com/test/</link>';
 $xml .= '</image>';
 $today= date("D, d M Y H:i:s +0100");
 //date du jour d'execution du fichier PHP
 $xml .= '<pubDate>'.$today.'</pubDate>';
 require ('parametres/param.php');
  // appel base de données
  $resultat_requete=mysql_query("SELECT * FROM formations_ent ORDER BY id DESC limit 0, 10");
    // extraction des 10 dernières nouvelles
  while($lig=mysql_fetch_assoc($resultat_requete)){ 
  //echo $lig["titre"]; ca fonctionne
    $titre=$lig["titre"];
    $adresse=$lig["objectif"];
    $date=$lig["date"];
    $datephp=date("D, d M Y H:i:s +0100", $date);
    $xml .= '<item>';
    $xml .= '<title>'.$titre.'</title>';
    $xml .= '<link>'.$adresse.'</link>';
    $xml .= '<pubDate>'.$datephp.'</pubDate>'; 
    $xml .= '<description>'.$contenu.'</description>';
    $xml .= '</item>'; 
  }//fin du while
  $xml .= '</channel>';
  $xml .= '</rss>';
  
  $fp = fopen("fluxrss.xml", 'w+');
  fputs($fp, $xml);
  fclose($fp);
  
  echo 'Export XML effectue !<br /><a href="fluxrss.xml">Voir 
  le fichier</a>';// c'est en cliquant sur voir le fichier que j'ai une page vierge avec message d'erreur
  ?>