【发布时间】:2010-02-09 04:19:54
【问题描述】:
我正在开发一个类似浏览器的应用程序,它从站点(任何网站)获取 HTML,然后在其上应用样式脚本来更改某些元素(就像油脂猴一样)。
我最初的计划是使用 XPath 和 XmlDocument 解析 HTML,但有没有更好的方法?
提前致谢!
Ps> HTML+C# 上的实用提示、技巧和链接会很棒~ ^^
【问题讨论】:
我正在开发一个类似浏览器的应用程序,它从站点(任何网站)获取 HTML,然后在其上应用样式脚本来更改某些元素(就像油脂猴一样)。
我最初的计划是使用 XPath 和 XmlDocument 解析 HTML,但有没有更好的方法?
提前致谢!
Ps> HTML+C# 上的实用提示、技巧和链接会很棒~ ^^
【问题讨论】:
使用 HTML Agliility 包。你可以在这里找到它:http://www.codeplex.com/htmlagilitypack
【讨论】:
我强烈推荐使用 XSLT。这使您可以将所有转换数据保留在代码之外,因此,如果要转换的 HTML 被修改,或者您想要更改布局,则可以很容易地对其进行更改。
不过,如果使用 HTML 而不是 XHTML,请注意可能出现的错误。尽管如此,使用 Tidy 库可以帮助您克服这个问题。
【讨论】:
我真的建议您为您选择的编程语言使用一个包来处理 HTML 解析的所有奇怪问题。我以前在 Ruby 中使用过 Hpricot,它让事情变得轻而易举。
【讨论】:
如果您希望能够根据其内容浏览 HTML,XPath 是一个不错的选择。但是您必须先清理 HTML。您可以使用 HTML tidy 将 HTML 转换为 XHTML。在此过程中,您可能会修改页面的呈现方式。但这似乎是您项目的目的,所以这没什么大不了的。
【讨论】: