Xpath所有文本在第4个br标记之前

时间:2013-06-23 08:50:08

标签: xpath

我有这个HTML:

<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个br标签之前的文本,也许还需要br标签本身。像这样:

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

这是什么样的正确xpath?

1 个答案:

答案 0 :(得分:3)

使用元素文本节点:

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

仅限文字节点:

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

在任何情况下,您都会得到一些包含两个表达式的空文本节点 - <br>元素之间的文本节点。