不使用浏览器控件从字符串获取HtmlDocument

Aab*_*ela 2 c# browser dom

我使用WebClient获取网页的html代码(作为字符串).

但是我想把它变成一个HtmlDocument对象,所以我可以使用这个类提供的DOM功能.目前我知道如何做的唯一方法是使用浏览器控件,如下所示:

            string pageHtml = client.DownloadString(url);

            browser.ScriptErrorsSuppressed = true;

            browser.DocumentText = pageHtml;

            do
            {
                Application.DoEvents();

            } while (browser.ReadyState != WebBrowserReadyState.Complete);

            return browser.Document;
Run Code Online (Sandbox Code Playgroud)

还有另一种方法吗?我知道还有其他浏览器控件可用,但是有更简单的方法吗?

L.B*_*L.B 7

你可以使用HtmlAgilityPack ....例如:

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

var results = doc.DocumentNode
    .Descendants("div")
    .Select(n => n.InnerText);
Run Code Online (Sandbox Code Playgroud)