[SimpleXML] utilisation de xpath
Bonjour,
Voici la structure du fichier xml que j'utilise :
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
| <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:
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:
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.