[XML] [DOM XML] editer un noeud dans un fichier XML
Bonjour à tous,
je voudrais éditer le contenu d'un noeud dans un fichier XML via un formulaire html en utilisant DOM XML.
voici le code php dans mapage.php :
Code:
1 2 3 4 5
|
foreach($setting as $fieldname=>$settingval){
echo $fieldname.' de '.$rang.' = '.$settingval.'<hr />';//renvoie les valeurs attendues
$processor->editNodeValue($fieldname, $rang, $settingval);
} |
et voici la méthode editNodeValue :
Code:
1 2 3 4 5 6 7 8 9 10
|
public function editNodeValue($nodename, $rang=0, $newdata){
if(is_string($nodename)&&$nodename!=''&&is_string($newdata)&&$newdata!=''){
$this->editedNode = $this->dom->getElementsByTagName($nodename)->item($rang);
$this->populatedNodeValue = $this->dom->createTextNode($newdata);
$this->editedNode->parentNode->replaceChild($this->populatedNodeValue, $this->editedNode);
}else{
$this->errors['removeData'] = 'Impossible de mettre à jour le noeud du fichier XML'.$this->XMLfile;
}
} |
Malheureusement j'obtiens un erreur quand je teste :
Citation:
Notice: Trying to get property of non-object in C:\Program Files\EasyPHP 3.0\www\xxxxxx\xxxxxx\xxxxxxxxx\XMLprocessor.php on line 162
Fatal error: Call to a member function replaceChild() on a non-object in C:\Program Files\EasyPHP 3.0\www\xxxxxx\xxxxxx\xxxxxxxxx\XMLprocessor.php on line 162
Je pense que le problème se situe ici :
Code:
1 2
|
$this->editedNode = $this->dom->getElementsByTagName($nodename)->item($rang); |
Help....:(