选择带谓词的多个元素

时间:2013-10-19 19:32:03

标签: html xpath

我想在xPath中选择带有谓词的多个元素(知道索引)。

说我有这个HTML文件:

<body>
    <table>
        <tr> <!-- tr 1 -->
            <td>element 1.1</td>
            <td>element 1.2</td>
        </tr>

        <tr> <!-- tr 2 -->
            <td>element 2.1</td>
            <td>element 2.2</td>
        </tr>

        <tr> <!-- tr 3 -->
            <td>element 3.1</td>
            <td>element 3.2</td>
        </tr>
    </table>
</body>

我使用://table/tr[3]/td[2]选择第3个td的第二个tr

如何同时选择第一个和第三个td的第二个tr(使用一个xPath)?

1 个答案:

答案 0 :(得分:1)

使用or结合position()=1position()=3来查找第1个和第3个tr元素:

//table/tr[position()=1 or position()=3]/td[2]

请注意,您无法使用tr[1 or 3],因为所有这一切都会将13评估为布尔值,从而导致每个tr都匹配,因为{{ 1}} 1 or 3始终为true or true