Bonjour,
Pour un projet personnel je souhaite stocker certaines informations de configuration dans un fichier XML mais je voudrais pouvoir modifier la valeur d'un noeud XML directement avec PHP
Le soucis c'est que je n'arrive pas à modifier la valeur d'un noeud même en l'atteignant puis en sauvegardant le fichier
Voici mon code :
Dans ma page "graphique" je créé un objet PHP (Je suis un peu débutant en objet PHP et je découvre les possibilités de XML avec PHP)
Classe PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $DOM = new MPHS_XML('configuration/config.xml'); $DOM->updateNode('admin','login','TEST'); $DOM->save();
$this->XML() correspondant à la fonction me permettant de loader mon fichier XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function updateNode($node, $tag, $element) { $updates = $this->XML()->getElementsByTagName($node)->item(0); foreach($updates->childNodes as $update) { if(trim($update->nodeName == $tag)) { $update->nodeValue = $element; } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private function XML() { $dom = new DOMDocument(); // $this->path est issu du constructeur de la classe $dom->load($this->path); return $dom; }Au final, j'arrive bien à accéder à mon nœud voulu mais je n'arrive pas à en modifier sa valeur, je ne sais pas quelle attribut utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function save() { try { $this->XML()->save($this->path); } catch (Exception $ex) { die('Erreur sauvegarde: '.$ex); } }
Merci pour votre aide
Partager