Bonjour à tous et à toutes,
Je vais vous exposer mon problème (facilement résolvable à mon avis mais je coince depuis un bon moment).
Voici mon fichier XML :
J'utilise SimpleXML et par conséquent XPATH.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <OFFRES> <STATIONS> <STATION> <STATION_CLE>84</STATION_CLE> ... <RESIDENCES> <RESIDENCE> <RESIDENCE_CLE>529</RESIDENCE_CLE> <PRODUITS> <PRODUIT> <PRODUIT_CLE>2301</PRODUIT_CLE> <PROMO>0</PROMO> <PRODUIT> ... <PRODUITS> </RESIDENCE> <RESIDENCE> <RESIDENCE_CLE>559</RESIDENCE_CLE> <PRODUITS> <PRODUIT> <PRODUIT_CLE>9501</PRODUIT_CLE> <PROMO>40</PROMO> <PRODUIT> ... <PRODUITS> </RESIDENCE> ... </RESIDENCES> </STATION> <STATION> <STATION_CLE>30</STATION_CLE> ... <RESIDENCES> <RESIDENCE> <RESIDENCE_CLE>556</RESIDENCE_CLE> <PRODUITS> <PRODUIT> <PRODUIT_CLE>2651</PRODUIT_CLE> <PROMO>0</PROMO> <PRODUIT> ... <PRODUITS> ... </RESIDENCE> ... </RESIDENCES> </STATION> ... </STATIONS> </OFFRES>
J'ai réussi à afficher en sélectionner d'une STATION_CLE toutes les RESIDENCES et ce qui sen suit, par cette requête :
/OFFRES/STATIONS/STATION[STATION_CLE = $idsejours]
Maintenant, j'aimerais afficher tous les PRODUIT où PROMO!=0. Pour cela j'ai essayé cela :
/OFFRES/STATIONS/STATION/RESIDENCES/RESIDENCE/PRODUITS/PRODUIT[PROMO!=0]
Cela fonctionne parfaitement. Seulement, j'aimerais pour chaque PRODUIT sélectionné, obtenir les RESIDENCE_CLE et les STATION_CLE des noeuds parents, en sélectionnant en fait chaque STATION en ne gardant que les noeuds qui m'intéressent (et leur contenu) et c'est là que je coince.
Ce serait donc vraiment très très cool si quelqu'un pouvait m'aider en me donnant, ou du moins me donner une piste sur la requête XPATH à fournir pour obtenir cela.
Merci à tous de votre lecture et de votre aide,
Guillaume
Partager