Bonjour,
Voici la structure du fichier xml que j'utilise :
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
<racine>
<element code='aa'>
<langue code_langue='aaa'>
<nom>
<forme attr='ltr'>
premiere forme
</forme>
<forme attr='ltr'>
deuxieme forme
</forme>
<forme attr='rtl'>
troisieme forme
</forme>
</nom>
</langue>
<langue code_langue='aab'>
<nom>
<forme attr='ltr'>
premiere forme
</forme>
<forme attr='rtl'>
deuxieme forme
</forme>
</nom>
</langue>
</element>
<element code='bb'>
...
</element>
</racine>

De ce fichier, j'extrais toutes les formes des éléments en fonction de la langue choisie grâce à xpath :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$xml = simplexml_load_file('element.xml');
$xpath='//element/langue[code_langue="aaa"]';
$element=$xml->xpath($xpath);
Ensuite avec une boucle je crée la liste déroulante suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
while (isset($element[$j])){
	$n=$j%2;		
	for ($k=0;$k<count($element[$j]->nom);$k++){
	$liste_option='';
		for ($l=0;$l<count($element[$j]->nom->forme);$l++){
		$liste_option.=$element[$j]->nom[$k]->forme[$l];
		if($l!=count($element[$j]->nom->forme)-1)$liste_option.=' / ';
                $liste_pays_meteo .="<option class='option$n'>" .$liste_option."</option>\n";
		}
	$j++;
	}
A ce point, j'aimerai pouvoir ajouter à la balise option :
<option class='option$n' value='attribut de l'élément parent'>

Et là je bloque. je ne vois pas comment extraire cet attribut.

Merci de votre attention.