[RESOLU] [VB] Commenter un noeud xml en VB

Commenter un noeud xml en VB [RESOLU] [VB] - VB/VBA/VBS - Programmation

Marsh Posté le 14-04-2008 à 20:49:45    

Bonjour,
 
 
Je souhaite, dans une appli VB6, lire et commenter ou supprimer des noeuds XML d'un fichier XML. Je m'explique :
 
J'ai un fichier XML contenant entre autre ce style d'infos :
 


   <Repertoire name=Programmes>
         <Fichier>Test1</Fichier>
         <Fichier>Test2</Fichier>
         <Fichier>Test3</Fichier>
         ....
   </Repertoire>


 
Je veux donc lire le noeud Repertoire et vérifier que les fichiers mentionnés existent. Si le répertoire n'existe pas, je mets tout le noeud 'Repertoire' en commentaire. Si un fichier n'existe pas, je supprime le noeud correspondant à ce fichier.
 
J'ai cherché sans succés jusqu'a présent. J'arrive bien à lire le fichier XML, mais je n'arrive pas à mettre en commentaire, ni supprimer :/
 
Auriez vous une piste ?


Message édité par SplitForm le 17-04-2008 à 08:00:17
Reply

Marsh Posté le 14-04-2008 à 20:49:45   

Reply

Marsh Posté le 15-04-2008 à 09:47:24    

Quel composant utilises-tu pour gérer XML ?
Mes conseils valent pour MSXML6

 

Un commentaire est un nœud comme un autre.
La propriété .nodeType étant en lecture-seule, je suppose qu'il faut supprimer le nœud Repertoire et en créer un autre de type commentaire qui contiendra le texte de ton nœud supprimé.

 

Pour supprimer un nœud tu peux utiliser la méthode .RemoveChild de l'objet DOMDocument60 ou de la collection .childNodes

 

Je ne suis pas un expert en utilisation de ce composant ; il existe peut-être plus efficace.


Message édité par tegu le 15-04-2008 à 09:48:01
Reply

Marsh Posté le 15-04-2008 à 10:21:41    

Les infos que j'ai sur le composant sont :
 
Library MSXML
    C:\WINDOWS\system32\msxml.dll
    Microsoft XML, version 2.0
 
Merci pour ta réponse, je vais voir tout ça  :jap:

Reply

Marsh Posté le 15-04-2008 à 11:13:42    

MSXML6 est une version plus récente de la tienne, téléchargeable gratuitement sur le site de Microsoft.
Évidemment il faudra l'installer sur tout poste qui devra fonctionner avec ton programme

Reply

Marsh Posté le 17-04-2008 à 08:00:00    

Si un jour quelqu'un cherche la même chose, voici ce qu'il faut faire :
 
 
Set oComment = oDoc.createComment(oNode.xml)
oParentNode.replaceChild oComment, oNode
 
oNode étant le noeud d'origine que l'on veut mettre en commentaire et oComment, une copie de type commentaire, du noeud oNode.
 
Et pour supprimer un noeud :
 
oParentNode.removeChild oNode

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed