C# 中是否有一个对象可以轻松管理 HTML DOM?

发布于 2024-08-29 07:58:27 字数 160 浏览 10 评论 0原文

如果我有一个字符串,其中包含刚刚从 HTTP Post 返回的页面中的 html,我怎样才能将其转换为可以让我轻松遍历 DOM 的内容?

我认为 HtmlDocument 对象是有意义的,但它没有构造函数。是否有任何类型可以轻松管理 HTML DOM?

谢谢,
马特

If I have a string that contains the html from a page I just got returned from an HTTP Post, how can I turn that into something that will let me easily traverse the DOM?

I figured HtmlDocument object would make sense, but it has no constructor. Are there any types that allow for easy management of HTML DOM?

Thanks,
Matt

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

厌味 2024-09-05 07:58:27

HtmlDocument 是已由 WebBrowser 控件加载的文档的实例。因此没有演员。

Html Agility Pack 是迄今为止我认为最好的库已用于此目的

来自 codeplex wiki 的示例

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

该示例显示了文件的加载,但有一些重载可以让您加载字符串或流。

The HtmlDocument is an instance of a document that is already loaded by a WebBrowser control. Thus no ctor.

Html Agility Pack is by far the best library I have used to this purpose

An example from the codeplex wiki

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

The example shows loading of a file but there are overloads that let you load a string or a stream. 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文