5

次のコードがあります。

<div id="mydiv">
    <h1>Some title</h1>
    <p>don't select me</p>
    <p>select me 1</p>
    <p>select me 2</p>
    <p>select me 3</p>
    <p>don't select me</p>
</div>

p[2] から p[4] までを選択する必要があります。

このコードで試してみましたが、うまくいきませんでした:

'.//*[@id="mydiv"]/p[preceding-sibling::p[4] and following-sibling::p[2]]'
4

3 に答える 3

8

あなたが試すことができます:

'//*[@id='mydiv']/p[position()>1 and position()<5]'


または、初期コードを次のように変更できます。

'//*[@id="mydiv"]/p[preceding-sibling::p and following-sibling::p]'


そのためp、前後のpノードがすべて選択されます (つまり、p[2] から p[4])。

于 2012-04-23T23:08:16.420 に答える
1

XPATH は以下の形式でも記述できます:-

//p[position()>1 and position()<5]

また

//p[position()>=2 and position()<=4]

結果:

select me 1
select me 2
select me 3
于 2012-07-03T13:05:53.073 に答える
0

«p» の最大数が 5 より大きい場合は、おそらくこれを使用する必要があります。

//p[(position() idiv 2) eq 1]--- ODD ノードを選択する (位置番号に基づく)

//p[(position() idiv 2) eq 0]--- EVEN ノードを選択する (位置番号に基づく)

于 2012-04-24T10:14:16.250 に答える