Выберите несколько элементов с предикатами

0

Я хочу выбрать несколько элементов (зная там индексы) с предикатами в 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] для выбора второго td третьего tr.

как насчет выбора второго td первого и третьего tr сразу (с одним xPath)?

Теги:
xpath

1 ответ

1
Лучший ответ

Используйте or чтобы совместить оба position()=1 и position()=3 чтобы найти как первый, так и третий tr элемента:

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

Обратите внимание: вы не можете использовать tr[1 or 3] потому что все, что делает, оценивает 1 и 3 как логические значения, что приводит к соответствию для каждого tr потому что 1 or 3 true or true всегда true.

  • 0
    2-й работает у меня, но не первый!
  • 0
    @Ghilas BELHADJ: Извините, я, должно быть, прочитал это неправильно. Ред.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню