Bonjour,
Je souhaite parcourir un fichier XML représentant un menu, de la forme suivante :
Code :
- <menu>
- <rubrique>
- <id>1</id>
- <idparent>0</idparent>
- <libelle>rubrique 1</libelle>
- <lien>url rubrique 1</url>
- <sousrubrique>
- <libelle>rubrique 1.1</libelle>
- <libelle>rubrique 1.2</libelle>
- </sousrubrique>
- </rubrique>
- <rubrique>
- <id>2</id>
- <idparent>0</idparent>
- <libelle>rubrique 2</libelle>
- <lien>url rubrique 2</url>
- <sousrubrique>
- <libelle>rubrique 2.1</libelle>
- </sousrubrique>
- </rubrique>
- <rubrique>
- <id>11</id>
- <idparent>1</idparent>
- <libelle>rubrique 1.1</libelle>
- <lien>url rubrique 1.1</url>
- <sousrubrique>
- <libelle>rubrique 1.1.1</libelle>
- <libelle>rubrique 1.1.2</libelle>
- </sousrubrique>
- </rubrique>
- ...
- <rubrique>
- <id>XYZ</id>
- <idparent>11</idparent>
- <libelle>rubrique 1.1.1</libelle>
- <lien>url rubrique 1.1.1</url>
- </rubrique>
- ...
- </menu>
|
J'aimerais à partir de ce fichier (qui n'est pas trié, les données sont dispatchées dans tout le fichier), construire (en PHP) un menu qui ressemblerait à ceci :
Code :
- rubrique 1
- -> rubrique 1.1
- --> rubrique 1.1.1
- --> rubrique 1.1.2
- -> rubrique 1.2
- rubrique 2
- -> rubrique 2.1
|
Pour l'instant, le seul algorithme que j'ai est le suivant :
Pour chaque noeud, je recherche un noeud dont l'"idparent" correspond à l'"id" du noeud courant.
Or je trouve que ce n'est pas très intéressant car plus mon fichier sera volumineux, et plus mon parcourt des rubriques mettra du temps.
Alors j'aimerais savoir s'il existe des outils (ou des fonctions) qui permettraient de récupérer facilement les sousrubriques d'une rubrique ?
Merci.
Message édité par hsmr le 26-06-2008 à 16:42:23