VBS/XML : Créer Node en 3ème niveau
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:
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