Page 1 sur 1

affichage d'un flux rss sur firefox

Posté : 11 sept. 2008, 12:36
par snyx
voici mon code :

fichier de base :

Code : Tout sélectionner

<a href="toto.xml">Affichage du rss</a>
fichier php qui sert a générer le fichier de flux rss toto.xml

Code : Tout sélectionner

<?php require"RSSPHP.php"; mysql_connect("localhost", "root", ""); mysql_select_db("garage"); $num=0;$j=0; $resultat_requete=mysql_query("SELECT * FROM car"); $RSS = new rss(); $RSS->createXML(); $RSS->saveXML($file); while($lig=mysql_fetch_assoc($resultat_requete)) { $title=$lig["titre"]; $link=$lig["adresse"]; $description=$lig["contenu"]; $date=$lig["date"]; $RSS->AddOneNews($title,$link,$description,$date,$j); $j++; } $RSS->saveXML($file); @mysql_close(); header('Location: xml.xml'); ?>
fichier de la class qui stock mes fonctions

Code : Tout sélectionner

<?php class rss { public function rss () { global $file; $file = new DOMDocument(); } public function openXML(){ // Ouverture du fichier global $file; $file->load("toto.xml"); //On retourne le fichier return $file; } public function createXML(){ // Création du fichier en mémoire global $file; $file->formatOutput = true; // Création du noeud racine $root = $file->createElement("rss"); //On crée l élément racine $root->setAttribute("version", "2.0"); //On lui ajoute l attribut version (2.0) $root = $file->appendChild($root); //On insère la racine dans le document // Création du noeud channel $element_channel = $file->createElement("channel");//On crée un élément channel $element_channel->setAttribute("id", "news"); //On donne un attribut id à notre channel $element_channel = $root->appendChild($element_channel);//On ajoute cet élément à la racine // Création du noeud title et ajout du texte à l élément $element_title = $file->createElement("title"); $element_title = $element_channel->appendChild($element_title); $texte_title = $file->createTextNode("Nouvelles sorties de voitures !"); $texte_title = $element_title->appendChild($texte_title); // Création du noeud link et ajout du texte à l élément $element_link = $file->createElement("link"); $element_link = $element_channel->appendChild($element_link); $texte_link = $file->createTextNode("xml.xml"); $texte_link = $element_link->appendChild($texte_link); // Création du noeud description $element_description = $file->createElement("description");//On crée un élément description $element_description = $element_channel->appendChild($element_description);//On ajoute cet élément au channel // Création du texte pour le noeud description $texte_description = $file->createTextNode("Liste de toutes les sorties de voitures !"); //On crée un texte $texte_description = $element_description->appendChild($texte_description); //On insère ce texte dans le noeud description // Création du noeud date et ajout du texte à l élément $element_date = $file->createElement("pubDate"); $element_date = $element_channel->appendChild($element_date); $texte_date = $file->createTextNode("Sat, 12 May 2007 22:06:10 +0000"); $texte_date = $element_date->appendChild($texte_date); // Création du noeud language et ajout du texte à l élément $element_language = $file->createElement("language"); $element_language = $element_channel->appendChild($element_language); $texte_language = $file->createTextNode("fr"); $texte_language = $element_language->appendChild($texte_language); // Création du noeud item $element_item = $file->createElement("item"); $element_item->setAttribute("id", $i); //On donne un attribut id à notre item $element_item = $element_channel->appendChild($element_item); // Création du noeud title et ajout du texte à l élément $element_title = $file->createElement("title"); $element_title = $element_item->appendChild($element_title); $texte_title = $file->createTextNode("title"); $texte_title = $element_title->appendChild($texte_title); // Création du noeud link et ajout du texte à l élément $element_link = $file->createElement("link"); $element_link = $element_item->appendChild($element_link); $texte_link = $file->createTextNode("Lien vers la news"); $texte_link = $element_link->appendChild($texte_link); // Création du noeud pubDate et ajout du texte à l élément $element_date = $file->createElement("pubDate"); $element_date = $element_item->appendChild($element_date); $texte_date = $file->createTextNode("Today"); $texte_date = $element_date->appendChild($texte_date); // Création du noeud description et ajout du texte à l élément $element_description = $file->createElement("description"); $element_description = $element_item->appendChild($element_description); $texte_description = $file->createTextNode("description"); $texte_description = $element_description->appendChild($texte_description); //On retourne le fichier XML return $file; } public function AddOneNews($title,$link,$description,$date,$num) { global $file; $s = simplexml_import_dom($file); $s->channel->item[$num]->title = $title; $s->channel->item[$num]->link = $link; $s->channel->item[$num]->description = $description; $s->channel->item[$num]->pubDate = $date; } public function saveXML($file){ //Sauvegarde du fichier $file->save("toto.xml"); } public function Show() { global $file; } } ?>
Mon problème est que lorsque je clik sur le lien <a href="toto.xml">Affichage du rss</a> sur IE pas de probleme mon flux RSS s'affiche mais sous firefox pas moyen il m'affiche mon fichier xml et me met le message d'erreur suivant:

Ce fichier XML ne semble pas avoir d'information de style lui étant associé. L'arbre du document est montré ci-dessous.

Comment faire j'ai cherché partout mais rien
merci à tous ceux qui prendront du temps pour moi

Posté : 11 sept. 2008, 13:51
par Victor BRITO
Tu peux attacher une feuille de style à ton fil RSS, comme suit :

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="ta-feuille-de-style.css" type="text/css"?> <!-- le code de ton fil RSS -->
Mais, il n'y a aucune garantie que Firefox en prenne compte.