HtmlAgilityPack зависает на XPath запросе - C#

Узнай цену своей работы

Формулировка задачи:

С сайта собираю информацию с помощью XPath. Вообщем,не получается взять элемент со страницы,притом что с другой страницы(можно сказать аналогичной) по такому же пути элемент получается взять. Самое странное,что не получается просто выполнить операцию. В режиме отладки,если поставить точку останова на HtmlNode Link3=..... то можно увидеть что данная операция не выполняется,просто останавливается на ней и всё. Есть ли внятное объяснение,с чем это связано?
HtmlWeb client = new HtmlWeb();
client.OverrideEncoding = Encoding.GetEncoding(1251);
HtmlAgilityPack.HtmlDocument doc = client.Load("http://www.gelos.ru/month/7oct2011/book.shtml");
 
//с вот этой страницей всё работает
//HtmlAgilityPack.HtmlDocument doc = client.Load("http://www.gelos.ru/2016/week/28.01/book.shtml");
 
HtmlNode Link3 = doc.DocumentNode.SelectSingleNode("/html/body/table[2]//tr/td[2]/table//tr/td/table//tr/td/table//tr[2]/td/table[2]//tr/td/table//tr[1]/td[2]"); // в таблице в шапке надпись ОПИСАНИЕ ПРЕДМЕТА

Решение задачи: «HtmlAgilityPack зависает на XPath запросе»

textual
Листинг программы
HtmlNode Link3 = doc.DocumentNode
    .SelectSingleNode(@"/html/body/table[2]//tr/td[2]/table//tr/td/table//tr/td")
    .SelectSingleNode(@"./table//tr[2]/td/table[2]//tr/td/table//tr[1]/td[2]");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.333 из 5