处理HTML文件

时间:2010-02-08 13:56:39

标签: c# html

我正在开发一个类似浏览器的应用程序,它从一个站点(任何网站)获取HTML,然后在其上应用样式脚本来更改某些元素(就像greasemonkey一样)。

我的初步计划是使用XPath和XmlDocument解析HTML,但有更好的方法吗?

提前致谢!

PS>方便的提示,技巧和关于HTML + C#的链接会很棒〜^^

5 个答案:

答案 0 :(得分:5)

使用HTML Agility包。您可以在此处找到它:http://www.codeplex.com/htmlagilitypack

答案 1 :(得分:4)

HTML并不总是遵循XML规则,例如html中有标签,可能没有close标签,因此XPath和XDocument有时会抛出错误。 IE API使您能够执行此操作(请参阅here),您还可以找到第3方派对解析器(请参阅this o this

答案 2 :(得分:0)

我非常推荐使用XSLT。这允许您将所有转换数据保留在代码之外,因此,如果要修改要转换的HTML,或者您想要更改布局,则可以很容易地更改它。

尽管如此,如果使用HTML而不是XHTML,请注意可能的错误。尽管如此,使用Tidy库可以帮助您克服这个问题。

答案 3 :(得分:0)

我真的建议使用一个包,用于处理所有奇怪的HTML解析的编程语言。我之前在Ruby中使用过Hpricot,它让事情变得轻而易举。

答案 4 :(得分:0)

如果您希望能够根据其内容浏览HTML,XPath是一个不错的选择。但是你必须先清理HTML。您可以使用HTML整理将HTML转换为XHTML。在此过程中,您可以修改页面呈现的方式。但这似乎是你的项目的目的,所以这不是什么大不了的事。