2010-02-23 8 views
12

considera seguente esempio:Come selezionare i nodi che ha X come discendente usando XPath

<root> 
    <instruments> 
     <flute> 
     <baz>bazik</baz> 
     </flute> 
     <guitar> 
     <deep> 
      <baz>more bazik</baz> 
     </deep> 
     </guitar> 
     <drum> 
     <foo>fooled</foo> 
     </drum> 
    </instruments> 
</root> 

voglio selezionare flute e guitar poiché entrambi contengono baz come nodo discendente. Come lo posso fare?

risposta

16

la chiave è quella di utilizzare il predicato [descendant::baz]

modo l'espressione può essere

/root/instruments/*[descendant::baz] 
+6

Oppure, in breve: '/ root/strumenti /*[.// baz]' – Tomalak

+0

come faccio a estrarre ' Bazik .210 più Bazik ingannare ' –

+0

@Arthur Eirich --Se inviare una domanda risponderò con il codice per farlo –

Problemi correlati