12

假设我有以下 UL:

<ul>
  <li>barry</li>
  <li>bob</li>
  <li>carl</li>
  <li>dave</li>
  <li>roger</li>
  <li>steve</li>
</ul>

我需要获取 bob 和 roger 之间的所有 LI。我可以在 bob with 之后抢到所有东西//ul/li[contains(.,"bob")]/following-sibling::li,我可以在 roger with 之前抢到所有东西//ul/li[contains(.,"roger")]/preceding-sibling::li。问题是当我尝试将两者结合起来时,我最终会得到额外的结果。

例如,//ul/li[contains(.,"bob")]/following-sibling::li[contains(.,"roger")]/preceding-sibling::li当然会在 roger 之前得到一切,而不是忽略 bob 之前的项目。

有没有办法将这两个 xpath 链接在一起?

4

1 回答 1

21

尝试:

/ul/li[preceding-sibling::li='bob' and following-sibling::li='roger']
于 2012-03-26T20:57:28.547 回答