我有一个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
我该如何实现这一目标?感谢
答案 0 :(得分:1)
使用以下代码
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
函数从表达式评估上下文返回一个等于上下文位置的数字。