C#解析HTML以供一般使用?

War*_*War 5 .net html c#

获取一串HTML并将其转换为有用的内容的最佳方法是什么?

基本上,如果我拿一个URL并从.net中获取该URL的HTML我得到一个响应,但这将以文件或流或字符串的形式出现.

如果我想要一个实际的文档或者我可以像XmlDocument对象一样爬行的东西怎么办?

我有一些想法和已经实施的解决方案但我有兴趣看看社区对此的看法.

Jen*_*ens 7

即使用XHTML编写,HTML页面也很少是有效的XML,因此无法将它们加载到标准XML对象中.

看一下HTML Agility Pack.即使该DOM无效,该.net组件也允许您遍历DOM.


小智 3

我使用 mshtml api。

只需引用 mshtml 程序集,然后包含命名空间即可。

从那里你可以声明一个可查询的 HTMLDocument 对象,它在某些地方有点令人头痛,因为 API 设计强制你进行随机转换,但它确实完成了工作,并且它总是可以单独放入 util 类中因此您不必将奇怪的内容保留在主应用程序代码类中。