2010-02-23 14 views
12

considere el siguiente ejemplo:Cómo seleccionar nodos que tiene X como descendiente usando XPath

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

deseo seleccionar flute y guitar porque ambos contienen baz como un nodo descendiente. ¿Cómo puedo hacer eso?

Respuesta

16

la clave es usar predicado [descendant::baz]

por lo que la expresión puede ser

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

O, para abreviar: '/ root/instrumentos /*[.// Baz]' – Tomalak

+0

¿Cómo extraer I ' bazik más bazik engañar ' –

+0

@Arthur Eirich -si usted publica una pregunta que responderá con el código para hacerlo –

Cuestiones relacionadas