Bonjour à toutes et à tous,

J'aimerais pouvoir ajouter un Node à un XML existant.
J'ai cherché un peu partout sur le net mais je n'arrive pas à concrétiser.

Ja'i essayé une technique du genre:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Public Sub CreerDocument()
 
	Dim xmlDoc, oRacine
 
	Set xmlDoc = CreateObject("Microsoft.XMLDOM")
    ' Créer et ajouter la racine dans le document
	' ATTENTION : il ne peut y avoir qu'un seul noeud racine dans un doc XML
	Set oRacine = xmlDoc.createElement("Racine")
 
    ' Ajouter la racine dans le document
	xmlDoc.appendChild oRacine
 
	xmlDoc.save("E:\inventory\New VBS\test.xml")
 
	Set xmlDoc = Nothing
 
End Sub
 
Public Sub AjouterDocument()
 
	Dim xmlDoc, oElement, oNom, oPrenom, rdr, wrt, oStream
 
	Set xmlDoc = CreateObject("Microsoft.XMLDOM")
	xmlDoc.Load("E:\inventory\New VBS\test.xml")
 
	' Ajouter un élément
	Set oElement = xmlDoc.selectSingleNode("Racine")  ' positionnement sur la racine
	Set oElement = xmlDoc.createElement("element1")    ' création d'un fils membre
	xmlDoc.documentElement.appendChild oElement       ' crée le fils de la racine
 
	' Ajouter des champs balises
	Set oNom = xmlDoc.createElement("nom1")
	oNom.Text = "LENOM1"
	oElement.appendChild oNom
	Set oNom = Nothing
 
	' Indenter le fichier créé
	set rdr = CreateObject("MSXML2.SAXXMLReader")
	set wrt = CreateObject("MSXML2.MXXMLWriter")
	Set oStream = CreateObject("ADODB.STREAM")
	oStream.Open 'Ouverture objet stream
	oStream.Charset = "ISO-8859-1"
 
	wrt.indent = True
	wrt.encoding = "ISO-8859-1"
	wrt.output = oStream ' Connexion de l'objet Writer à l'objet Stream
	Set rdr.contentHandler = wrt
	Set rdr.errorHandler = wrt
	rdr.Parse xmlDoc
	wrt.flush
 
	' Sauver le fichier créé
	oStream.SaveToFile "E:\inventory\New VBS\test.xml", 2
 
	' Détruire les objets
	Set rdr = Nothing
	Set wrt = Nothing
	Set xmlDoc = Nothing
 
End Sub
Ensuite, après chaque appel de:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
If Not CheckIsFile ("E:\inventory\New VBS\test.xml") Then CreerDocument
AjouterDocument
' CheckIsFile est une fonction WMI qui me permet de savoir si le fichier existe ou non et renvoie True ou False
Je change les valeurs pour element1 nom1 et LENOM1 mais rien n'y fait ... Mon but est de bien entedu automatiser le code par la suite...

Auriez-vous une idée de comment je peux facilement ajouter des nodes dans un xml existant en VBScript ?

Cordialement,

En réalité c'est la fonction CheckIsFile qui ne fonctionne pas.
En effet, elle me retourne toujours False.
Je cherche la solution et je vous tiens informé ...