Разбор HTML таблицы в C# и сохранение в массиве

У меня есть HTML-страница, которая может содержать много таблиц. Некоторые таблицы могут быть размещены внутри других таблиц. Мне нужен код C# для автоматического чтения и анализа всех существующих данных таблицы и сохранения их в списке массивов, за исключением значений заголовка таблицы.

Вот мой код до сих пор, используя HtmlAgilityPack:

    string strFilepath = @"filepath\index.html";
    if (System.IO.File.Exists(strFilepath))
    {
        lblValues.Text = "exists";
        //
        HtmlDocument hdoc = new HtmlDocument();
        hdoc.LoadHtml(strFilepath);
        List<List<string>> table = hdoc.DocumentNode.SelectNodes("//table").Descendants("tr").Skip(1)
            .Where(tr => tr.Elements("td").Count() > 1)
            .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
            .ToList();
        //
    }
    else
    { lblValues.Text = "error"; }

Путь к файлу правильный, но он выдает ошибку Object reference not set to an instance of an object, Также как отделить те таблицы, которые находятся в других таблицах?

РЕДАКТИРОВАТЬ:

    <table>
        <thead><tr><th>header1</th><th>header2</th><th>header3</th></tr></thead>
        <tr><td>value01</td><td>value02</td><td>value03</td></tr>
        <tr><td>value11</td><td>value12</td><td>value13</td></tr>
    </table>

0 ответов

Другие вопросы по тегам