Ajouter une node XML avec VBS
Bonjour,
Je tente d'ajouter une node dans un fichier XML via un VBS (qui sera exécuté à l'ouverture de la session des utilisateurs). Je suis capable de lire dans le fichier mais je n'arrive pas à faire l'ajout. Est-ce que quelqu'un aurait une idée ?
Structure du XML
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--Phone Account Settings-->
<Accounts>
<Profiles>
<Profile>
<IsActive>True</IsActive>
<AuthByPassword>True</AuthByPassword>
<AuthUser>iWz6iobPfr</AuthUser>
<Codecs>PCMU/8000/1,True;PCMA/8000/1,True;G722/16000/1,True;G729/8000/1,True;opus/48000/2,True;GSM/8000/1,False;speex/8000/1,False;iLBC/8000/1,False</Codecs>
<MaxRegistrationTime>120</MaxRegistrationTime>
<SIPTransport>0</SIPTransport>
<StunAttempts>2</StunAttempts>
<AuthPassword></AuthPassword>
<UseTunnel>True</UseTunnel>
<PBXPort>5060</PBXPort>
<SwitchboardMode>UserMode</SwitchboardMode>
<ShowUnregisteredExtensions>True</ShowUnregisteredExtensions>
<PresenceLayoutOrientation>Vertical</PresenceLayoutOrientation>
<PresenceViewMode>Grouped</PresenceViewMode>
<ActiveCallsFilter>115</ActiveCallsFilter>
<HiddenGroups>2</HiddenGroups>
<HiddenWallboardQueues></HiddenWallboardQueues>
<WallboardCustomMessage1>3CX Wallboard</WallboardCustomMessage1>
<WallboardCustomMessage2></WallboardCustomMessage2>
</Profile>
</Profiles>
<General>
<EchoCancellation>True</EchoCancellation>
<VAD>False</VAD>
<MicGain>4</MicGain>
<IsBusyLampFieldExpanded>False</IsBusyLampFieldExpanded>
<SwitchboardWindowLeft>1433</SwitchboardWindowLeft>
<SwitchboardWindowTop>22</SwitchboardWindowTop>
<SwitchboardWindowWidth>312</SwitchboardWindowWidth>
<SwitchboardWindowHeight>800</SwitchboardWindowHeight>
<IsSwitchboardWindowMaximized>False</IsSwitchboardWindowMaximized>
<DefaultDragAndDropTransferType>Blind</DefaultDragAndDropTransferType>
<ActiveCallsCallerColumnWidth>150</ActiveCallsCallerColumnWidth>
<ActiveCallsCalleeColumnWidth>150</ActiveCallsCalleeColumnWidth>
<ActiveCallsDurationColumnWidth>60</ActiveCallsDurationColumnWidth>
<SwitchboardLayoutTop>428</SwitchboardLayoutTop>
<SwitchboardLayoutBottom>1000</SwitchboardLayoutBottom>
<SwitchboardLayoutLeft>1</SwitchboardLayoutLeft>
<SwitchboardLayoutRight>1</SwitchboardLayoutRight>
<CustomImagePath>C:\ProgramData\3CXPhone for Windows\PhoneApp\HeaderImage.jpeg</CustomImagePath>
</General>
</Accounts> |
Code que j'ai essayé (incluant celui en commentaire)
Je souhaite faire l'ajout dans la section "General" du fichier, en dernier.
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
| Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.load XMLFILE
'Locate the node
Set nNode2 = xmlDoc.selectsinglenode(XMLNODE)
'Validate if existing
If nNode2 Is Nothing Then
newEle = xmlDoc.createNode("IsCustomImageSet")
newText=xmlDoc.createTextNode("True")
newEle.appendChild(newText)
x = xmlDoc.getElementsByTagName("General")[0]
x.appendChild(newEle)
'set root = xmlDoc.documentElement("General")
'set new_book = xmlDoc.createNode(1, "IsCustomImageSet", "")
'set book_text = xmlDoc.createNode(3, "", "")
'book_text.text = "True"
'new_book.appendChild(book_text)
'root.insertBefore new_book, root.childNodes.Item(0)
End if
'Save the setting
strResult = xmldoc.save(XMLFILE) |
J'avais réussi à faire l'ajout mais APRÈS la node "General" et non dedans (mais j'ai changé le code et je n'ai plus retrouvé comment j'avais fait).
Merci de votre aide :-)