Bonsoir à tous,

Je bloque gentiment sur une requête Xpath (via PHP), j'en appelle donc à votre générosité pour me sortir de ce mauvais pas

Mon xml :
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
 
<root>
 
   <A id="1">
 
      <B type="1">
         <C>toto</C>
      </B>
 
      <B type="2">
         <C>toto</C>
      </B>
 
   </A>
 
   <A id="2">
 
      <B type="1">
         <C>titi</C>
      </B>
 
      <B type="2">
         <C>toto</C>
      </B>
 
   </A>
 
</root>
Je souhaite que ma fonction me retourne les noeuds <A> et leurs descendants répondant aux critères suivants :
  • attribut @type de B égal à 2
  • noeud textuel C égal à "toto"


La NodeList attendue est donc :

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
 
   <A id="1">
 
      <B type="2">
         <C>toto</C>
      </B>
 
   </A>
 
   <A id="2">
 
      <B type="2">
         <C>toto</C>
      </B>
 
   </A>
J'étais sur la piste de : /A[A/B/@type = 2 and A/B/C = "toto"]
Mais ça ne me retourne rien ; mon soucis est de retourner des noeuds ancêtres avec des critères sur des noeuds enfants...

Auriez-vous une suggestion ?

Merci pour votre aide,