Bonjour,
Mon code VBScript utilisant un fichier XML semble ne pas fonctionner.
Je dois pouvoir executer un ensemble d'actions et de sous-actions en fonction de conditions.
Voici les fichiers XML de test :
Dans ce cas-ci, la sous-action ne doit s'executer QUE si l'action parente est reussie.
Code Test_Xml_1 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <action id="1" data="data-1.xml"> <action id="2" data="data-2.xml"> <condition>pass</condition> </action> </action> <action id="3" data="data-3.xml"> </action>
Fonctionne correctement...
Dans ce cas-ci, la sous-action doit s'executer quel que soit le resultat de l'action parente.
Code Test_Xml_2 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <action id="1" data="data-1.xml"> <action id="2" data="data-2.xml"> <condition>pass</condition> <condition>fail</condition> <condition>warning</condition> </action> </action> <action id="3" data="data-3.xml"> </action>
Ne fonctionne pas dans le cas d'un fail ou d'un warning...
Fonctionne si le resultat est pass...
Dans ce cas-ci, la sous-action doit s'executer quel que soit le resultat de l'action parente.
Code Test_Xml_3 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <action id="1" data="data-1.xml"> <action id="2" data="data-2.xml"> <condition>fail</condition> <condition>pass</condition> <condition>warning</condition> </action> </action> <action id="3" data="data-3.xml"> </action>
Ne fonctionne pas dans le cas d'un pass ou d'un warning...
Fonctionne si le resultat est fail...
Voici comment je recherche une action dans le fichier :
Code VBscript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub processAction(action) ' ... actionResult=GetActionResult() ' Returns "pass" or "fail" or "warning" Set subActions = action.SelectNodes("action[condition='" & actionResult & "']") For Each subAction in subActions processAction subAction Next ' ... End Sub
Auriez-vous une idee de mon erreur lors de la recherche ?
SelectNodes("action[condition='" & actionResult & "']")
On dirait qu'il ne peut pas prendre en compte plus d'un tag <condition> ...
Etant donne que l'objectif de ma recherche est de savoir si oui ou non je dois executer une sous-action (et ne l'executer qu'une seule fois), ne serait-il pas plus correct d'ecrire :
Merci d'avance !
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 Sub processAction(action) ' ... actionResult=GetActionResult() ' Returns "pass" or "fail" or "warning" Set subActions = action.SelectNodes("action[condition='" & actionResult & "']") If subActions.Length > 0 Then ' REPLACE : For Each subAction in subActions processAction subActions(0) End If ' REPLACE : Next ' ... End Sub
Partager