как в xpath связать th из thead таблицы с соответствующими td из tbody
В XPath можно связать элементы <th>
из <thead>
с соответствующими элементами <td>
из <tbody>
таблицы, используя индексы. Обычно <th>
и <td>
находятся в одной и той же колонке, и их можно сопоставить по индексу.
Вот пример, как это можно сделать:
<table>
<thead>
<tr>
<th>Заголовок 1</th>
<th>Заголовок 2</th>
<th>Заголовок 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Данные 1.1</td>
<td>Данные 1.2</td>
<td>Данные 1.3</td>
</tr>
<tr>
<td>Данные 2.1</td>
<td>Данные 2.2</td>
<td>Данные 2.3</td>
</tr>
</tbody>
</table>
Если вы хотите получить все <td>
, соответствующие первому <th>
, вы можете использовать следующий XPath:
//thead/tr/th[1]/following::tbody/tr/td[1]
Этот запрос выбирает все <td>
, которые находятся в первой колонке <tbody>
, соответствующей первому заголовку <th>
.
Если вам нужно получить все соответствия для всех заголовков, вы можете использовать цикл в вашем коде, чтобы пройтись по всем <th>
и получить соответствующие <td>
:
//thead/tr/th[position()=1]/following::tbody/tr/td[position()=1]
Здесь position()
используется для динамического выбора соответствующих колонок. Вы можете изменять индекс в position()
для получения данных из других колонок.