Читать HTML-таблицу в C # - PullRequest
       13

Читать HTML-таблицу в C #

0 голосов
/ 06 декабря 2018

Я бы хотел прочитать информацию этой таблицы (это всегда один и тот же стиль) в C #.Это план замены учителя, и я хотел бы включить это в свой школьный график.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Хорошо.Я нашел лучшее решение:

var web = new HtmlWeb();
        var doc = web.Load(url);
        foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table"))
        {   
            foreach (HtmlNode row in table.SelectNodes("tr"))
            {
                temprow = new List<string>();
                foreach (HtmlNode cell in row.SelectNodes("td"))
                {
                    temprow.Add(cell.InnerText);
                }
                rows.Add(temprow);
            }
        }
0 голосов
/ 06 декабря 2018

Вы можете использовать стороннюю библиотеку, такую ​​как HtmlAgilityPack , чтобы проанализировать данные в данные, которые вы можете использовать, используя Linq для запроса

Из этой StackOverflow записи,следующее становится проще

tmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlCode);
var headers = doc.DocumentNode.SelectNodes("//tr/th");
DataTable table = new DataTable();
foreach (HtmlNode header in headers)
    table.Columns.Add(header.InnerText); // create columns from th
// select rows with td elements 
foreach (var row in doc.DocumentNode.SelectNodes("//tr[td]")) 
    table.Rows.Add(row.SelectNodes("td").Select(td => td.InnerText).ToArray());

Вы можете создать собственный класс для вашей конкретной таблицы и проверить атрибуты таблиц td / или заголовков, чтобы узнать, где, что и где отображается, и

например,

var myTableClass = new TableClass();
myTbaleClass.Name = row[0]; 
.....

, что облегчит вам задачу.

...