2012-06-28 13 views
6

cómo extraer texto después de las br etiquetas en las siguientes líneas:XPath para extraer texto después de las etiquetas br en I

<div id='population'> 
    The Snow Leopard Survival Strategy (McCarthy <em>et al.</em> 2003, Table 
    II) compiled national snow leopard population estimates, updating the work 
    of Fox (1994). Many of the estimates are acknowledged to be rough and out 
    of date, but the total estimated population is 4,080-6,590, as follows:<br> 
    <br> 
    Afghanistan: 100-200?<br> 
    Bhutan: 100-200?<br> 
    China: 2,000-2,500<br> 
    India: 200-600<br> 
    Kazakhstan: 180-200<br> 
    Kyrgyzstan: 150-500<br> 
    Mongolia: 500-1,000<br> 
    Nepal: 300-500<br> 
    Pakistan: 200-420<br> 
    Russia: 150-200<br> 
    Tajikistan: 180-220<br> 
    Uzbekistan: 20-50 
</div> 

me dieron en cuanto a:

xpathSApply(h, '//div[@id="population"]', xmlValue) 

pero estoy atascado ahora ...

+3

THere no hay texto _within_ '
' etiquetas ... ¿Quiere decir _between_ las varias etiquetas? Es posible que desee aclarar lo que quiere _exactly_. Una primera suposición sería ''// div [@ id =" population "]/text() [previous-sibling :: br]'' – Wrikken

+0

¡Eso es todo! Póngalo como respuesta y lo verificaré – Kay

Respuesta

18

Ayuda si se da cuenta de que el texto también es un nodo. Todo el texto en el div que sigue <br/> 's puede ser recuperada por:

//div[@id="population"]/text()[preceding-sibling::br] 

Técnicamente, entre <br/> etiquetas significaría:

//div[@id="population"]/text()[preceding-sibling::br and following-sibling::br] 

... pero supongo que eso no es lo que quiere en este punto.

+0

Edité el 'entre' ... ¡Muchas gracias! – Kay

Cuestiones relacionadas