Bonjour,

Je suis complètement débutant en programmation php... (Mais tout à fait familier à la programmation objet ne nous inquiétons pas !)

Je suis un peu dérouté par le comportement suivant et me dit que vous aurez peut être une piste :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class MyDocument extends DOMDocument 
{
	protected $root_;		// XML document root
 
	public function __construct ()
	{
		parent::__construct ();
		$this->root_ = $this->documentElement;
		echo "contructeur";
		$this->root_->appendChild($this->createElement('item'));
	}
 
	public function item_add ($s)
	{
		$newitem = $this->createElement("item");
		$newitem->appendChild($this->createTextNode($s));
		$this->documentElement->appendChild($newitem);
	}
}
 
$xml = "<root><test>ceci is a test</test></root>";
$test = new MyDocument();
$test->loadXML($xml);
$test->item_add("Geraud fait un test");
echo $test->saveXML();
Ce qui me pose problème c'est les lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->root_ = $this->documentElement;
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->root_->appendChild($this->createElement('item'));
.

J'ai l'erreur suivante :
Erreur de débogage: C:\...\MyDocument.class.php ligne 10 - Call to a member function appendChild() on a non-object
Erreur que je n'ai pas si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->documentElement->appendChild($this->createElement('item'));
Je ne comprend pas puisque $root_ est sencé pointer vers $this->documentElement.

Voyez vous d'où peut venir le problème ?

Merci d'avance de votre aide.