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:Ensuite, après chaque appel de:
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 SubJe 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...
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
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é ...
Partager