Bonjour à tous,

Je souhaite traiter un fichier XML et le modifier si nécessaire.

Voici les opérations possibles :
1) Modification d'une valeur pour un élément si celle-ci est erronée
2) ajout d'un nouvel élément si celui n'est pas trouvé dans le fichier XML

Pour le 1), je n'ai pas de problème, j'arrive bien à modifier une valeur, après avoir déterminé l'élément et sa valeur...

Pour le 2), je n'arrive pas à trouver un moyen de détecter si une balise existe bien dans mon fichier XML.
idéalement, j'aimerais pouvoir faire le traitement suivant :
a) on cherche la balise dans le fichier
b) si elle existe alors on vérifie sa valeur et on modifie si nécessaire
c) si elle n'existe pas, on crée le couple <element>valeur</element> dans le fichier XML


Voici un exemple simplifié de mon fichier XML :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<serveur>
  <hostname>toto</hostname>
  <network>
      <interface nic="eth0" ip="10.0.0.10" />
  </network>
</serveur>
Ainsi, j'aimerais pouvoir rajouter dans mon fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<interface nic="eth1" ip="10.0.0.11" />
après avoir vérifié que cet élément dont l'attribut nic vaut eth1 n'existe pas dans mon fichier

Au final, le fichier XML en sortie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<serveur>
  <hostname>toto</hostname>
  <network>
      <interface nic="eth0" ip="10.0.0.10" />
      <interface nic="eth1" ip="10.0.0.11" />
  </network>
</serveur>

Si quelqu'un a une piste ... ca m'arrangerait grandement