Bonjour à tous,

comme je l'ai indiqué dans le titre, j'ai un problème avec la fonction getElementById(). J'ai une fonction qui crée une une fichier XML (jusqu'à là pas de problème)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function &createXML(&$file){
		$root = $file->createElement("rss"); 
		$root->setAttribute("version", "2.0"); 
		$root = $file->appendChild($root);
 
		$element_channel = $file->createElement("channel");
		$element_channel->setAttribute("id", "news");
		$element_channel = $root->appendChild($element_channel);
 
                 .....
 
		return $element_channel;
}
Et j'ai une autre fonction qui charge un fichier XML en mémoire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
	function &openXML(&$file){
		$file->load("../data/news.xml"); 
		$channel = $file->getElementById("news");
		return $channel;
	}
et enfin j'ai une troisième fonction qui ajoute une balise item dans le fichier XML en mémoire une balise item.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function Add(&$parent, $root)
{
        $item = $parent->createElement("item");
        $item = $root->appendChild($item);
et quand je charge un XML deja existant en mémoire et que je lui ajoute une balise item, j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Call to a member function appendChild() on a non-object in ...
Donc je pense que cela vient de ma fonction openXML(&$file) qui me retourne un objet null.

Si quelqu'un peut m'aider à résoudre ce problème.
Merci d'avance.