3

複雑なテーブル構造で「tr」内の複数の「td」を選択しようとしています。

$name = $sxml->xpath("
                //table[@cellspacing=0 and @cellpadding=2 and @class='mn2']
                    /tr[not(contains(@class, 'mn'))]/td[2] 
                | 
                //table[@cellspacing=0 and @cellpadding=2 and @class='mn2']
                        /tr[not(contains(@class, 'mn'))]/td[5]
                |
                //table[@cellspacing=0 and @cellpadding=2 and @class='mn2']
                        /tr[not(contains(@class, 'mn'))]/td[7]
                ");

すべてが正常に機能していて、欲しいものが手に入りますが、これは少しやり過ぎのようです。ユニオン式「|」を使用する代わりに、この「td[2,5,7]」のように複数の「td」を選択するにはどうすればよいですか。?

4

1 に答える 1

7

それはの助けを借りて行うことができますor

//table[@cellspacing=0 and @cellpadding=2 and @class='mn2']
    /tr[not(contains(@class, 'mn'))]/td[position()=2 or position()=5 or position()=7] 
于 2012-05-06T18:40:59.970 に答える