У меня возникли проблемы при создании Xpath для следующего HTML:Xpath матч текущего узла или один из дочерних узлов
<html>
<body>
<table class="tablesorter">
<tbody>
<tr class="tr_class">
<td>{some td info}</td>
<td>{some td info}</td>
<td>
<span class="span1">
<span class="span2">Out</span>
<span class="span3">SMTH</span>
<span class="span4">Out</span>
</span>
</td>
</tr>
<tr class="tr_class">
<td>{some td info}</td>
<td>{some td info}</td>
<td>In</td>
</tr>
<tr class="tr_class">
<td>{some td info}</td>
<td>{some td info}</td>
<td>In</td>
</tr>
</tbody>
</table>
</body>
</html>
То, что я хочу, чтобы создать Xpath, который будет возвращать мне содержание каждого третьего узла TD (если у него нет детей) или содержимого его диапазона, который имеет класс = «span2». Например, для этого HTML он должен вернуть
Out,In,In
У меня есть Xpath, который будет возвращать необходимый узел диапазона, он выглядит следующим образом:
//table[@class = 'tablesorter']//td[3]/descendant::*[@class='span2']/text()
и я Xpath, что вернет мне простое содержание каждого 3d узлы тд:
//table[@class = 'tablesorter']//td[3][count(descendant::*)=0]/text()
Но мне нужно только одно Xpath, потому что для меня нужно иметь правильный порядок «в» или ценностей «Out» (их упорядочение в таблице)
, к сожалению, что» t не правильный ответ - он будет производить правильный вывод, но не в правильном направлении - он делает sn't проверить @ класс узлов. –
Какие узлы вы хотите проверить для класса? – MattH
Он отлично работает с образцом, который вы предоставили. Возможно, вам нужно будет расширить свой образец, чтобы продемонстрировать, как он не работает. – MattH