2010-02-08 96 views
1

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

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

在此先感谢!

PS>方便的技巧,技巧&对HTML + C#链接将是巨大的〜^^

回答

5

HTML并不总是遵循XML规则,例如有HTML标签,可能没有结束标记,所以XPath和XDocument有时会抛出错误。 IE API让你能够做到这一点(见here),你也可以找到第三方解析器(请参阅thisthis

0

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

非常少,如果使用HTML而不使用XHTML,请注意可能的错误。不用说,使用Tidy库可以帮助你克服这个问题。

0

我真的会推荐使用你的编程语言的选择,处理所有的HTML解析的怪异包。我之前在Ruby中使用过Hpricot,这让事情变得轻而易举。

0

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