Bonjour,
Soit un fichier xml bien formé (genre annuaire) qui a a peu près cette structure:
groupes
groupe
libelle
adresse
code_postal
contacts
contact
identite
tel
contact
identite
tel
groupe
.... etc
Je parcours sans trop de difficulté le fichier avec une boucle data à son niveau 1
<BOUCLE_niv1 (DATA) {source simplexml, http://urlvers/syndic.xml} {datapath root/children/groupe}>
Mon problème est que je voudrai parcourir un 2nd niveau constitué des contacts. Si par ex je fais:
<BOUCLE_niv2 (DATA) {source simplexml, http://urlvers/syndic.xml} {datapath root/children/groupe/4/children/contacts/0/children/contact}>
J'obtiens bien la liste des contacts du 4ème groupe, donc ça marche, la syntaxe semble correcte
Mon idée était d'imbriquer _niv2 dans _niv1 et de remplacer "4" par "#CLE" ou "#_niv1:CLE" ou via un #SET et #GET pour obtenir pour chaque groupe la liste des contacts attachés, qui sont bien sûr en nombre variable ... un truc du genre:
<BOUCLE_niv2 (DATA) {source simplexml, http://urlvers/syndic.xml} {datapath root/children/groupe/#_niv1:CLE/children/contacts/0/children/contact}>
Hélas, quoique j'essaye, je me retrouve avec la liste des contacts du groupe 0, c'est à dire que #CLE ou tout autre syntaxe me retourne 0, donc j'ai toujours les contacts du groupe 0.
Est-ce que ça n'est pas la bonne méthode (l'imbrication des boucles), cela veut dire que je ne peux pas mettre une balise spip dans le critère datapath ... Une idée sur la méthode pour retrouver pour chaque groupe ses contacts à lui et seulement ceux-là quel que soit leur nombre ?
Merci d'avance à qui aura une bonne idée !
Pierre.
