Création d'un flux RSS avec PHP, problème récurrent avec getElementById

WRInaute occasionnel
Bonjour à tous,

Je me tourne encore vers vous comme vous avez toujours su me dépanner par le passé, car dans le cas présent, je deviens fou. Depuis trois jours, je cherche à résoudre ce problème qui apparemment est courant mais je n'ai pas la solution...

Mais commençons par le début. Tout commence quand je décide de mettre des flux RSS sur mes sites afin d'être dans le mouv, car c'est toujours utile et ça fait pro. Bref, je me trouve un script en PHP tout fait à cette adresse :

http://baptiste-wicht.developpez.com/tutoriels/php/rss/

Qui semble parfaitement me convenir et qui parait simple. Je l'implemente tel quel sans changement en PHP4, puis en PHP5, mais rien n'y fait j'ai cette fameuse erreur :

Code:
Fatal error: Call to a member function appendChild() on a non-object in ... on line ...

Sur ce bout de code qui permet d'ajouter un item dans le fichier xml :

Code:
function addOneNews($file, $title, $timestamp, $author){
	
	//On récupère le channel
	$element_channel = $file->getElementById("news");
	
	// Création du noeud item
	$element_item = $file->createElement("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($date("d/m/Y H:i",$timestamp));
	$texte_date = $element_date->appendChild($texte_date);
	
	// Création du noeud author et ajout du texte à l élément 
	$element_author = $file->createElement("author");
	$element_author = $element_item->appendChild($element_author);
	$texte_author = $file->createTextNode($author);
	$texte_author = $element_author->appendChild($texte_author);
}

L'erreur en question est sur la ligne :

Code:
$element_item = $element_channel->appendChild($element_item);

Mais il s'agit en fait de la ligne :

Code:
$element_channel = $file->getElementById("news");

Qui pose problème car l'élement_channel semble vide du fait qu'il ne trouve pas l'id... Apparemment.

Avez-vous déjà eu ce problème ? L'avez-vous résolu ? Utilisez-vous un autre script pour générer vos flux RSS ? Pouvez-vous m'aider avant que je ne me pende à ma chaise ?

Je vous remercie de votre aide !
 
WRInaute occasionnel
Merci pour votre aide, je savais qu'ici j'aurais ma réponse. Je vais tester tout ça dans la semaine.

Bonne nuit.
 
WRInaute occasionnel
spout a dit:

Je viens de jeter un oeil rapide au produit mais j'ai déjà une petite question quant à l'utilisation. L'exemple fournit montre l'utilisation dans le cas d'une création d'un flux et ensuite l'ajout des items. Qu'en est-il quand le flux est déjà créer et que je ne veux que lui ajouter des items ?

Merci de ta réponse.
 
WRInaute accro
John Smith a dit:
L'exemple fournit montre l'utilisation dans le cas d'une création d'un flux et ensuite l'ajout des items. Qu'en est-il quand le flux est déjà créer et que je ne veux que lui ajouter des items ?

Le flux est déjà créé par quoi ?
 
Discussions similaires
Haut