2012-06-28 2 views
6

Как извлечь текст после br тегов в следующих строках:XPath для извлечения текста после Ьг тегов в R

<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> 

я получил, насколько:

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

, но я застрял теперь ...

+3

Нет текста _within_ '
' tags ... Вы имеете в виду _between_ несколько тегов? Вы можете уточнить, что вы хотите _exactly_. Первое предположение было бы '' // div [@ id = "population"]/text() [previous-sibling :: br] '' – Wrikken

+0

Вот и все! Положите это как ответ, и я проверю его – Kay

ответ

18

Это помогает, если вы понимаете, что текст также является узлом. Весь текст в DIV, чем следует <br/> «s могут быть получены с помощью:

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

Технически между<br/> метки будет означать:

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

... но я предполагаю, что это не то, что вы хотите с этой точки зрения.

+0

Я отредактировал «между» .. Большое спасибо! – Kay

Смежные вопросы