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 :
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 :
$this->root_ = $this->documentElement;
et
$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
$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.
Partager