Bonsoir,
Je bloc sur du XPATH :Je désire avoir les chemins des différents dossier des images (sans doublon).
Voila le fichier XML concerné :
Je désire récupérer :
Code : 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 <channel> <images> <item nom="Colline verdoyante" folder="wallpaper"> C:\Projet en cours\Wallpaper\wallpaper\Colline verdoyante.BMP </item> <item nom="Collines" folder="wallpaper"> C:\Projet en cours\Wallpaper\wallpaper\Collines.jpg </item> <item nom="Paysages01" folder="Paysages"> C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\Paysages01.jpg </item> <item nom="Paysages02" folder="Paysages" > C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\Paysages02.jpg </item> <item nom="Neige08" folder="wallpaper"> C:\Documents and Settings\JB\Mes documents\Mes images\wallpaper\Neige08.jpg </item> </images> </channel>
C:\Projet en cours\Wallpaper\wallpaper\
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\
C:\Documents and Settings\JB\Mes documents\Mes images\wallpaper\
Donc j'ai réalisé une boucle For en xsl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <xsl:for-each select="images/item[not(@folder=preceding-sibling::item/@folder)]"> <xsl:sort select="@folder"/> <xsl:value-of select="concat(substring-before(., concat('\',@folder,'\')), '\', @folder)"/> </xsl:for-each>
Mais la ca me sort juste :
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages
C:\Projet en cours\Wallpaper\wallpaper
Il ne fait pas la diffèrence avec les dossiers du même nom...
Comment résoudre ce problème ?
PS: L'attribut folder correspond toujours au dossier ou est situé l'image
et nom le nom de l'image sans l'extension
Partager