Nokogiri XPATH-基于搜索关键字获取节点范围



我有一个html文件,其中有一些段落如下:

<p> paragraph 1 </p>
<p> paragraph 2 </p>
<p> paragraph 3 </p>
<p> paragraph 4 </p>

现在我想读上面的前两三段。

下面的代码段只返回一个基于我定义的索引的段落。。

doc = Nokogiri::HTML(open('test.html'))
p doc.xpath('//p[1][contains(text(), "paragraph")]')

但我想要一系列像1..2这样的段落,我该如何做到这一点?感谢

使用以下代码

doc = Nokogiri::HTML(open('test.html'))
puts doc.xpath("//p[position() >= 1 and position() <= 3][contains(.,'paragraph')]")

输出

paragraph 1 
paragraph 2 
paragraph 3 

读取此position()

position函数从表达式求值上下文返回一个等于上下文位置的数字。

和CCD_ 4。

相关内容

  • 没有找到相关文章

最新更新