Я пытаюсь извлечь все ссылки с атрибутом href, который начинается с http: //, https: // или /. Эти ссылки лежат внутри таблицы (tbody> tr> td и т. Д.) С определенным классом. Я думал, что могу указать только элемент a без всего пути к нему, но он, похоже, не работает. Я получаю NullReferenceException на линии, которая выбирает ссылку:Выделить все ссылки из таблицы Html с помощью XPath (и HtmlAgilityPack)
var table = doc.DocumentNode.SelectSingleNode("//table[@class='containerTable']");
if (table != null)
{
foreach (HtmlNode item in table.SelectNodes("a[starts-with(@href, 'https://')]"))
{
//not working
Я не знаю о каких-либо рекомендациях или наилучшей практике, когда дело доходит до XPath. Я создаю накладные расходы, когда я дважды запрашиваю документ?
В моем решении я предоставляю единое выражение XPath для всех трех разных '' узлов, которые должны быть выбраны. Кроме того, более точно и эффективно найти все '' узлы в документе (как еще один ответ рекомендует - // a) –