У меня есть следующий пример 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 ... -->
Я хочу извлечь все абзацы, следующие за заголовком 'Foo bar', пока не дойду до заголовка 'Bar baz' (текст для 'Bar baz 'неизвестен, поэтому, к сожалению, я не могу использовать ответ, предоставленный bougyman). Теперь я, конечно, могу использовать что-то вроде // h2 [text () = 'Foo bar'] / following :: p
, но это, конечно, захватит все абзацы, следующие за этим заголовком. Так что у меня есть возможность пройти по набору узлов и поместить абзацы в массив до тех пор, пока текст не будет соответствовать тексту следующего следующего заголовка, но давайте будем честными, это никогда не так круто, как возможность сделать это в XPath.
способ сделать это, который мне не хватает?