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 xml : 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
<?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 : 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
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 :-)