Bonjour,
J'essaye désespérément de vérifier la présence d'un nœud dans un fichier XML et de le créer le cas échéant.
Ce script créer un fichier XML dans chacun des répertoires qu'il parcourt, intégrant la liste des fichiers du répertoire dans lequel il se trouve.
Ça marche la première fois.
Le problème c'est que si je ré-exécute le code, les nœuds sont en double.
Voici ce que j'ai essayé :
Merci de vos lumières et vos conseils.
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 // Recherche le noeud "file" avec l'attribut "name" = "nom du fichier" $xpath = new DOMXPath($doc); $query = '/folder/file/@name'; $nodes = $xpath->query($query); foreach( $nodes as $path) { // il existe ? if ( $path->nodeValue == $ff ) { echo 'file[@name="'.$ff.'"] = > Ok <br>'.PHP_EOL; } else { // Création du noeud $file = $doc->createElement( 'file' ); $newfile = $folder->appendChild( $file ); $newfile->setAttribute("name", $ff); $newfile->setAttribute("title", $ff); $newfile->setAttribute("description", ""); } }
Partager