12

私が次のULを持っているとしましょう:

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

ボブとロジャーの間のすべてのLIを取得する必要があります。でボブした後はすべてをつかむこと//ul/li[contains(.,"bob")]/following-sibling::liができ、ロジャーの前にですべてをつかむことができます//ul/li[contains(.,"roger")]/preceding-sibling::li。問題は、この2つを組み合わせようとすると、余分な結果が得られることです。

たとえば、//ul/li[contains(.,"bob")]/following-sibling::li[contains(.,"roger")]/preceding-sibling::liボブの前にアイテムを無視するのではなく、もちろんロジャーの前にすべてを取得します。

これらの2つのxpathを一緒にチェーンする方法はありますか?

4

1 に答える 1

21

試す:

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