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”像这样“td [2,5,7]”而不是使用联合表达式“|” ?

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 回答