Чтобы использовать XPath, вам обычно требуется XML, а не HTML, но некоторые парсеры (например, встроенный в PHP) имеют смягченный режим, который также анализирует большую часть HTML.
Если вы хотите найти всех <a>
, которые являются прямыми потомками <td class="blah">
, то необходимый вам XPath -
//td[@class = 'blah']/a
or
//td[@class = 'blah']/a[@href = 'http://...']
(в зависимости от того, хотите ли вы только один или все URL)
Это даст вам набор узлов. Вам нужно будет перебрать его, а затем проверить nodeType
из firstChild
(предполагается, что это текстовый узел) и количество дочерних узлов (должно быть 1). Тогда firstChild
будет содержать ????