2011-11-09 22 views
5

Estoy analizando la página HTML con XPath y quiero obtener el texto completo de un párrafo específico, incluido el texto de los enlaces.Usando XPath para obtener el texto del párrafo con enlaces dentro de

Por ejemplo, tengo el párrafo siguiente:

<p class="main-content"> 
    This is sample paragraph with <a href="http://google.com">link</a> inside. 
</p> 

tengo que conseguir texto siguiente como resultado: "Este es el párrafo muestra con enlace dentro", sin embargo la aplicación de "//p[@class'main-content']/text()" me da solamente "Este es el párrafo de muestra con el interior ".

¿Podría ayudarnos? Gracias.

+1

El código está roto - no cierra el 'href' atributo comillas. – lonesomeday

+0

Gracias, corrigió ese error tipográfico. –

Respuesta

6

Para obtener todo el contenido de texto de un nodo, utilice la función string:

string(//p[@class="main-content"]) 

Tenga en cuenta que esto se pone un valor de cadena. Si desea nodos de texto (como los devuelve text()), puede hacerlo. Es necesario buscar en todas las profundidades:

//p[@class="main-content"]//text() 

Esto devuelve tres nodos de texto: This is sample paragraph with, link y inside.

+0

Muchas gracias, @lonesomeday. ¡Funciona perfectamente! –

Cuestiones relacionadas