2012-05-06 10 views
2

複雑なテーブル構造で "tr"の中に複数の "td"を選択しようとしました。xpath経由で複数のインデックスを選択するより良い方法

$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"を選択することができますか? ?それはorの助けを借りて行うことができます

答えて

6

:あなたは歓迎されている@Umren

//table[@cellspacing=0 and @cellpadding=2 and @class='mn2'] 
    /tr[not(contains(@class, 'mn'))]/td[position()=2 or position()=5 or position()=7] 
+0

魔法のように動作しますが、あなたに – Umren

+1

に感謝します –

関連する問題