我有以下HTML示例:
<!-- lots of html -->
<h2>Foo bar</h2>
<p>lorem</p>
<p>ipsum</p>
<p>etc</p>
<h2>Bar baz</h2>
<p>dum dum dum</p>
<p>poopfiddles</p>
<!-- lots more html ... -->
Run Code Online (Sandbox Code Playgroud)
我想要提取'Foo bar'标题后的所有段落,直到我到达'Bar baz'标题('bar baz'标题的文字未知,所以不幸的是我无法使用bougyman提供的答案).现在我当然可以使用类似的东西,//h2[text()='Foo bar']/following::p
但当然会抓住这个标题后面的所有段落.因此,我可以选择遍历节点集并将段落推送到数组,直到文本与下一个标题的文本匹配为止,但说实话,这在XPath中无法做到.
有没有办法做到这一点,我错过了?