HTMLAgilityPack xpath - PullRequest
       17

HTMLAgilityPack xpath

0 голосов
/ 23 июня 2011

Я ударил стену этим, пожалуйста, кто-нибудь может мне помочь?

С URL-адреса ниже я ищу, чтобы получить внутренний текст

<a href="/borsa/azioni/scheda.html?isin=IT0001233417&lang=en">A2A</a>

Синтаксис XPath, который я использую, не возвращает никаких данных:

.//table[@class='table_dati']//tbody[@class='constituents']//tr//td[@class='name']//a

URL-адрес http://www.borsaitaliana.it/borsa/azioni/ftse-mib/lista.html?lang=en&page=1

Заранее спасибо,

Грант

Ответы [ 3 ]

2 голосов
/ 23 июня 2011

Ваш XPath начинается с ., поэтому он относится к контекстному узлу.Но вы ничего не сказали нам о контексте.Может быть, вы хотите опустить начальный . и сделать его «абсолютным»:

//table[@class='table_dati']/tbody[@class='constituents']/tr/td[@class='name']/a

Я бы также изменил // на / везде, где вы ищете прямого потомка (не потомка)в общем) отношения.

2 голосов
/ 23 июня 2011

Как насчет //tbody[@class='constituents']//td[@class='name']/a? На самом деле это должно работать очень хорошо.

0 голосов
/ 29 мая 2013

По моему опыту, HTMLAgilityPack не очень хорошо работает с тегом tbody.Я просто следую за таблицей, чтобы найти нужную клетку, пропуская все тело.

...