У меня есть следующий HTML:Xpath: выберите h2 родителя, без ребенка
<div class="stack">
<h2 class="overflow">
<img src="http:..">
text
</h2>
<div class="sublist">
<table>
...
</table>
</div>
<h2 class="overflow">
<a href="http://...">link</a>
</h2>
</div>
Как вы можете видеть, .sublist ДИВ всегда следует с и какой-то текст, это как DIV является подсписка h2 (h2 - название подвыражения). В другом - якорный тег.
Я хотел бы получить все теги h2, которые предшествуют div .sublist.
Это мое текущее положение XPath:
//div[@class="stack"]/h2/*[not(descendant::a)]
И я в конечном итоге получить различные элементы (а, ДИВ, IMG), но элементы h2.
Это хорошо. Мне пришлось перейти от h2 к h2 [1], чтобы получить inmediante, предшествующую брату. – Rod0n
@ Rod0n да, путь, который я дал, вернет _all_ теги h2, которые предшествуют расширению подписок. –