我正在开发一个类似浏览器的应用程序,它从一个站点(任何网站)获取HTML,然后在其上应用样式脚本来更改某些元素(就像greasemonkey一样)。
我的初步计划是使用XPath和XmlDocument解析HTML,但有更好的方法吗?
提前致谢!
PS>方便的提示,技巧和关于HTML + C#的链接会很棒〜^^
答案 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。在此过程中,您可以修改页面呈现的方式。但这似乎是你的项目的目的,所以这不是什么大不了的事。