Bonjour à tous,

Débutant dans le xml, je me permets de poster ici car après plusieurs recherches sur ce forum et sur le net, je n’arrive pas à résoudre mon problème.

Je dois récupérer des informations dans un fichier xml comme celui-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="ISO-8859-1" ?>
<page>
   <langues>
      <langue tag="fr">
         <texte tag="texte-1">Titre en français</texte>
         <texte tag="texte-2">&lt;b&gt;Texte en Français &lt;/b&gt;Lorem ipsum dolor sit amet, nunc.</texte>
      </langue>
      <langue tag="uk">
          <texte tag="texte-1">Title in English</texte>
          <texte tag="texte-2">&lt;b&gt;Text in English &lt;/b&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam nunc.</texte>
      </langue>
   </langues>
</page>
Je dois lire le contenu de la balise <texte> en fonction de 2 variables qui chacune représentent une valeur possible des attributs « tag ».
1ere variable ($langue) contient « uk » ou « fr »
2eme variable ($expression) contient « texte-1 » ou « texte-2 »
J’ai essayé avec xpath mais je n’ai pas réussi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$page=simplexml_load_file($fichierXML);
$chemin='page/langues/langue[@tag="'.$langue.'"]/texte[@tag="'.$expression.'"]';
$contenu=$page->xpath($chemin));
Pouvez-vous, svp, m’éclairer de vos lanternes.

Oswalde