xpath                
            Encontrar elementos que contengan texto específico.
        
        
            
    Buscar..
Encuentra todos los elementos con cierto texto.
Imagina el siguiente XML:
<root>
    <element>hello</element>
    <another>
        hello
    </another>
    <example>Hello, <nested> I am an example </nested>.</example>
</root>
 La siguiente expresión XPath:
//*[text() = 'hello']
  devolverá el <element>hello</element> , pero no el elemento <another> . Esto se debe a que el elemento <another> contiene espacios en blanco que rodean el texto de hello . 
 Para recuperar tanto el <element> como el <another> , uno podría usar: 
//*[normalize-space(text()) = 'hello']
 o
//*[normalize-space() = 'hello']
  que recortará el espacio en blanco circundante antes de hacer la comparación. Aquí podemos ver que el especificador de nodo text() es opcional cuando se utiliza normalize-space . 
 Para encontrar un elemento que contiene un texto específico, puede utilizar la contains la función. La siguiente expresión devolverá el elemento <example> : 
//example[contains(text(), 'Hello')]
  Si desea buscar texto que abarque varios nodos hijos / texto, puede usarlo . en lugar de text() . . Se refiere a todo el contenido del texto del elemento y sus hijos. 
//example[. = 'Hello,  I am an example .']
 Para ver los múltiples nodos de texto, puede utilizar:
//example//text()
 que volverá:
- "Hola, "
 - "Yo soy un ejemplo"
 - "."
 
 Y para ver más claramente el contenido de texto completo de un elemento, se puede usar la función de string : 
string(//example[1])
 o solo
string(//example)
 Hola soy un ejemplo
 El último funciona porque, si un conjunto de nodos se pasa a funciones como una string , XPath 1.0 solo mira el primer nodo (en el orden del documento) en ese conjunto de nodos, e ignora el resto. 
asi que:
string(/root/*)
 volvería:
Hola