Анализ HTML-таблицы в C #

c# html-agility-pack html-table parsing

Вопрос

У меня есть html-страница, которая содержит таблицу, и я хочу проанализировать эту таблицу в форме окна C #

http://www.mufap.com.pk/payout-report.php?tab=01

это веб-страница, которую я хочу разобрать, я попробовал

> Foreach(Htmlnode a in document.getelementbyname("tr"))
{
    richtextbox1.text=a.innertext;
}

я пробовал что-то вроде этого, но он не даст мне в табличной форме, поскольку я просто печатаю все trs, поэтому, пожалуйста, помогите мне в этом, спасибо, извините за мой английский.

Принятый ответ

Использование Html Agility Pack

WebClient webClient = new WebClient();
string page = webClient.DownloadString("http://www.mufap.com.pk/payout-report.php?tab=01");

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(page);

List<List<string>> table = doc.DocumentNode.SelectSingleNode("//table[@class='mydata']")
            .Descendants("tr")
            .Skip(1)
            .Where(tr=>tr.Elements("td").Count()>1)
            .Select(tr => tr.Elements("td").Select(td => td.InnerText.Trim()).ToList())
            .ToList();

Популярные ответы

Вы имеете в виду что-то вроде этого?

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table")) {
    ///This is the table.    
    foreach (HtmlNode row in table.SelectNodes("tr")) {
    ///This is the row.
        foreach (HtmlNode cell in row.SelectNodes("th|td")) {
            ///This the cell.
        }
    }
}


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему