Bonjour,
Impossible de créer un node où je veux dans l'arborescence.
InsertAfter ne semble pas fonctionner également.
Je suis sous Seven (64 bits).
Le code :
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
 
Set ObjRacine = CreateObject("Microsoft.XMLDOM")
ObjRacine.Async = "false"
ObjRacine.LoadXml("<ArcOgefi><PAP><Parametres></Parametres></PAP></ArcOgefi>")
                Set ObjTiers = ObjRacine.selectSingleNode("//Parametres")
'---                Set ObjTiers = ObjRacine.createElement("TIERS")
                Set ObjTiers = ObjRacine.createnode(1,"TIERS","")
        ObjRacine.documentElement.appendChild(ObjTiers)
 
        Set ObjCpte = ObjRacine.createElement("toto")
        ObjCpte.Text = "Valeur"
        ObjTiers.appendChild(ObjCpte)
 
'--- Indentation
        Dim Rdr, Wrt, OStream
        Set rdr = CreateObject("MSXML2.SAXXMLReader")
        set wrt = CreateObject("MSXML2.MXXMLWriter")
        Set oStream = CreateObject("ADODB.STREAM")
        oStream.Open
        oStream.Charset = "utf-8"
        wrt.indent = True
        wrt.encoding = "utf-8"
        wrt.output = oStream
 
        Set rdr.ContentHandler = wrt
        Set rdr.ErrorHandler = wrt
        rdr.Parse ObjRacine
        wrt.flush
        OStream.SaveToFile "Ogefi.xml", 2
 
Wscript.Quit    '--- Arrêt complet de l'application
La balise <<TIERS>> devrait se trouver sous la balise <<Parametres>>.
Quoi que je fasse, le selectSingleNode n'a pas l'air de pointer sur la 'bonne' balise, et <<TIERS>> est créé sous la racine.
Il y a sûrement une énorme erreur, mais je n'arrive pas/plus à la voir.
Et comme "de la discussion, jaillit la lumière ...", je fais appel à la communauté.
Grand merci d'avance pour vos suggestions/solutions.
Cordialement.
Gilles Cartairade