获取文本部分到 xpath 中的特定标记

get text part upto a specific tag in xpath

我正在尝试使用 Xpath 获取直到第一个 <.hr>(忽略点)标记的文本

<div class="entry">
   <p> some text</p>
   <p> some text2</p>
   <p> some text3</p>
   <p> some text4</p>
   <hr>(get text part before this hr tag)
   <p> some text5</p>
   <hr>
   <p> some text6</p>
</div>

试过这个

//hr[1]/ancestor::div[@class="entry"]/text()

和一些类似的变体,但无法获得预期的输出

沿着这些路线的东西会给你 hr 节点

之前的一组节点
//div[@class="entry"]/*[not(preceding-sibling::hr | self::hr)]

它将列出那些

的节点
  • 是 div 的 children,class 名称为“entry”,
  • 前面没有名为 hr 的节点并且
  • 本身不是 hr 节点