2013-06-23 4 views
0

У меня есть этот HTML:Xpath весь текст, прежде чем четвёртая бр теге

<div> 
here a long text1 ... 
<br> 
<br> 
here some more text2 ... 
<br> 
<br> 
Here also text3 .. 
<br> 
<br> 
Here text4 and so forth 
</div> 

Я только хочу текст перед 4-й бр тег и, возможно, и сам бр теги. Пример:

here a long text1 ... 
<br> 
<br> 
here some more text2 ... 
<br> 
<br> 

Что такое правильный xpath для этого?

ответ

3

С элементами и текстовых узлов:

/div/node()[count(preceding-sibling::br) < 5] 

Только с текстовыми узлами:

/div/text()[count(preceding-sibling::br) < 5] 

В любом случае вы получите несколько пустых текстовых узлов с обоими выражениями - те, между <br> элементов.

+0

Ницца. Как я могу также включить текст в тег A без самой ссылки? – Geveze

+0

@ Geveze Какой тег? – Tomalak

+0

Например, если бы был тег A, включенный в «здесь длинный текст1». – Geveze