Bonjour,

Voici les éléments à partir desquels je code mon appli.:
j'ai un 1er fichier
siteslist.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<SITES>
    <ITEM><NAME>usine1</NAME><CODE>USN1</CODE></ITEM>
    <ITEM><NAME>depot1</NAME><CODE>DEP1</CODE></ITEM>
    <ITEM><NAME>usine2</NAME><CODE>USN2</CODE></ITEM>
</SITES>

et un 2nd fichier
resourceslist.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<USN1>
    <ITEM><NAME>resource1</NAME><CODE>RES1</CODE></ITEM>
    <ITEM><NAME>resource2</NAME><CODE>RES2</CODE></ITEM>
    <ITEM><NAME>resource3</NAME><CODE>RES3</CODE></ITEM>
</USN1>
 
<USN3>
    <ITEM><NAME>machine1</NAME><CODE>MCH1</CODE></ITEM>
    <ITEM><NAME>machine2</NAME><CODE>MCH2</CODE></ITEM>
    <ITEM><NAME>machine3</NAME><CODE>MCH3</CODE></ITEM>
    <ITEM><NAME>machine4</NAME><CODE>MCH4</CODE></ITEM>
</USN3>
La logique de l'interface utilisateur (UI) est la suivante:
l'utilisateur sélectionne une valeur dans la ComboBox1
ComboBox1 (sites):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<option value="USN1">usine1</option>
<option value="DEP1">depot1</option>
<option value="USN2">usine2</option>
et selon l'option sélectionnée et donc la valeur renvoyée il aura une
ComboBox2 (resources) qui affichera, soit:
1er cas de figure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<option value="RES1">resource1</option>
<option value="RES2">resource2</option>
<option value="RES3">resource3</option>
si usine1 est sélectionnée donc la valeur USN1 renvoyée

2eme cas de figure
rien si depot1 est sélectionnée

3eme cas de figure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<option value="MCH1">machine1</option>
<option value="MCH2">machine2</option>
<option value="MCH3">machine3</option>
<option value="MCH4">machine4</option>


Dans mon code Actionscript:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#000000" creationComplete="init()">
<mx:XML id="siteslist" source="./assets/siteslist.xml" />
<mx:XML id="resourceslist" source="./assets/resourceslist.xml" />
 
<mx:Script>
    <![CDATA[
...
 
// Manage resources dropdown display
private var selectedsite:String = new String('FR');
private function onChangeSite(event:Event):void{
  selectedsite = sites.selectedItem.code;
  populateResourceList();
}
 
[Bindable]
private var arr_resource:Array = new Array();
private var _resources:ArrayCollection = new ArrayCollection();
 
 
private function populateResourceList():void{
if(selectedsite=='USN1'||selectedsite=='USN2')
{
  resources.visible = true;
    for each(var node:XML in resourceslist..selectedsite.ITEM)
     {
        arr_resource.push({label:node.NAME, code:node.CODE});
     }
     _resources.source = arr_state;
 
}
else
{
  resources.visible = false;
}
 
    ]]>
</mx:Script>
 
...
 
<mx:ComboBox id="sites" dataProvider="{_sites}" close="onChangeSite(event);"/>
 
<mx:ComboBox id="resources" dataProvider="{_resources}" close="onChangeSite(event);" visible="false"/>
 
...
 
</mx:Application>
Le problème est le suivant:
j'aimerais utiliser la valeur renvoyée par la ComboBox1 pour définir le noeud dans lequel je vais chercher les options (dans resourceslist.xml) de la ComboBox2.
Seulement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
resourceslist..selectedsite.ITEM
ne marche pas. Si je teste en mettant une valeur directement du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
resourceslist..USN1.ITEM
, par exemple cela marche.
Comment convertir donc la valeur de 'selectedsite' en format acceptable dans la condition de la boucle 'for each' ?

Est-ce que quelqu'un pourrait m'aider s'il vous plaît ?

Merci