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)
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();
Classe PHP

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;
            }
        }
    }
$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
 
private function XML()
    {
        $dom = new DOMDocument();
        // $this->path est issu du constructeur de la classe
        $dom->load($this->path);
        return $dom;
    }
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);
        }
    }
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
Merci pour votre aide