Я использовал html agility pack раньше и добился хороших результатов с небольшим количеством проб и ошибок. В настоящее время я пытаюсь использовать его для возврата набора узлов с xpath, который я получаю, щелкнув правой кнопкой мыши «Копировать XPath» в Firefox. Я провел некоторый поиск и вижу, что браузер часто добавляет «tbody» для тегов таблицы. Я попытался это с удалением этого без удачи. Вот xpath, данный мне Firefox:
/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]
Использование его как есть выдает ошибку: " Значение не может быть нулевым. Имя параметра: источник. "
Это происходит в строке:
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
Я продолжу читать, а пока, если это кому-то легко исправить, буду признателен за подсказку.
Обновление: это фактический код:
protected override List<IDataPoint> ReturnDataPointsFromIndividualAddressString(string AddressString)
{
List<IDataPoint> earningsAnnouncements = new List<IDataPoint>(); //Not used, yet..
HtmlWeb hwObject = new HtmlWeb();
HtmlDocument htmlDoc = hwObject.Load(AddressString);
if (htmlDoc.DocumentNode != null)
{
List<HtmlNode> nodeList = new List<HtmlNode>();
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
}
}