Modifier fichier XML par VB 6

lamiruth Messages postés 70 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 14 septembre 2015 - 4 oct. 2005 à 13:53
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 - 4 oct. 2005 à 23:01
Bonjour à tous,
SVP j'utilise VB 6 pour mettre à jour des données d'un fichier XML !
voici le code:


Dim xmlFic As New MSXML2.DOMDocument
Dim nodeBook As IXMLDOMElement
Set nodeBook = xmlFic .selectSingleNode(".//Ecole/Libr/Liv")
nodeBook.setAttribute "Liv", "nom livre"


Mais ce code ne modifie pas du tout la valeur du noeud car après ouverture du fichier XML,la valeur est inchangée!
SVP où se trouve l'erreur?
merci

3 réponses

borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
4 oct. 2005 à 14:32
Deux points á noter:
1. Je crois que "SetAttribute" n'est pas la fonction a utiliser. Si tu a un Tag "Liv" ou <Liv></Liv>, ajouter un attribut te donnera <Liv liv="NomDuLivre"></Liv>
Il faut modifier la valeur "Text" du Node pour arriver á <Liv>Nom du Livre</Liv>

2. Toutes les modifs faite dans VB restent en memoire et disparraisent quand tu quittes ton programme á moin de faire un "Save" Explicitement.

Cela devrait te mettre sur la voie...

A+

Borntoclimb

---No pasa nada...
0
lamiruth Messages postés 70 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 14 septembre 2015
4 oct. 2005 à 16:49
Bonsoir


Voici à peu pret le fichier xml (partiel)
- <toto>
- <titi>
<version>2</version>
<name> test</name>
</titi>
- <mimi>
<riri Item="5" Ind="5" ty="5" Type="5">45</riri>
<rere Item="6" Ind="1" Type="1" ty="1">val rere</rere>
- <mimi>


je souhaite par exemple modifier la valeur de riri :faire passer de 45 à 20
0
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
4 oct. 2005 à 23:01
xmlFic.getElementsByTagName("riri").item(0).text= "20"

Si tu as plusieurs element "riri", tu peux verifier que c'est bien l'Item X

For i = 0 To xmlFic.getElementsByTagName("riri").length - 1
If xmlFic.getElementsByTagName("riri").item(i).Attributes.getNamedItem("item").nodeValue="5" Then
xmlFic.getElementsByTagName("riri").item(i).text= "20"
Exit For
End If
Next

Et voila...

Borntoclimb

---No pasa nada...
0
Rejoignez-nous