Как я могу избежать / n / t / t / t в htmlagalitypack - PullRequest
0 голосов
/ 03 августа 2020

Я хочу проанализировать таблицу затронутых версий с cvedetails.com через html -agility-pack. Я написал код, как показано ниже. Я получаю сырые HTML таблицы через кукольника. via (VulnerabilityParser.GetAffectedVersionAsyn c () function)

string versionsTableRawHTML = await VulnerabilityParser.GetAffectedVersionAsync(AffectedVersionsSelector);

        var versionsTable = new HtmlDocument();
        versionsTable.LoadHtml(versionsTableRawHTML);

        foreach (HtmlNode table in versionsTable.DocumentNode.SelectNodes("//tr/td"))
        {
            var row= table.SelectSingleNode("//tr/td[5]").InnerText;           
        }

Этот результат, следующий за моей переменной строки. "\ n \ t \ t \ t \ t \ t \ t \ t \ t1 \ t \ t \ t \ t \ t \ t \ t"

Я проверил на целевом сайте. Дело не в этом. В чем причина такого результата? Как мне это разобрать?

1 Ответ

0 голосов
/ 04 августа 2020

Чтобы получить строки таблицы, вы можете использовать следующий подход

  HtmlWeb mWb = new HtmlWeb();

         HtmlDocument mDoc= mWb.Load("https://www.cvedetails.com/cve/CVE-2019-16223/");

        var rows = mDoc.DocumentNode.SelectNodes("//td[@class='num']");

        foreach (var row in rows)
        {
            //Each row number
            Console.WriteLine(row.InnerText);
        }

Чтобы получить другие столбцы, вы можете следовать тому же подходу и разделить все строки на l oop длиной 700

...