Пакет Гибкости HTML - таблицы синтаксического анализа

Я перешел по этой ссылке к

и отменил извлечение create-реагировать на приложение, и все работает сейчас

53
задан Nathaniel Ford 12 January 2016 в 16:38
поделиться

2 ответа

Как насчет чего-то как: Используя Пакет Гибкости HTML

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(@"<html><body><p><table id=""foo""><tr><th>hello</th></tr><tr><td>world</td></tr></table></body></html>");
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table")) {
    Console.WriteLine("Found: " + table.Id);
    foreach (HtmlNode row in table.SelectNodes("tr")) {
        Console.WriteLine("row");
        foreach (HtmlNode cell in row.SelectNodes("th|td")) {
            Console.WriteLine("cell: " + cell.InnerText);
        }
    }
}

Примечание, что можно сделать это более симпатичным с LINQ к объектам, если Вы хотите:

var query = from table in doc.DocumentNode.SelectNodes("//table").Cast<HtmlNode>()
            from row in table.SelectNodes("tr").Cast<HtmlNode>()
            from cell in row.SelectNodes("th|td").Cast<HtmlNode>()
            select new {Table = table.Id, CellText = cell.InnerText};

foreach(var cell in query) {
    Console.WriteLine("{0}: {1}", cell.Table, cell.CellText);
}
115
ответ дан peinearydevelopment 7 November 2019 в 08:22
поделиться

Самое простое, что я нашел, чтобы получить XPath для конкретного элемента, это установить расширение FireBug для Firefox зайдите на сайт/страницу нажмите F12, чтобы вызвать firebug; выберите и щелкните правой кнопкой мыши элемент на странице, который вы хотите запросить и выберите "Inspect Element" Firebug выделит элемент в своей IDE, затем щелкните правой кнопкой мыши элемент в Firebug и выберите "Copy XPath" эта функция даст вам точный XPath запрос, который вам нужен, чтобы получить элемент, который вы хотите, используя HTML Agility Library.

31
ответ дан 7 November 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: