2010-10-15 93 views
3

我试图用XPathDocument解析一个html页面,但给出错误'因为html不是xml ... 有没有办法做到这一点?c#使用XPathDocument解析html

+0

检查在这里:http://stackoverflow.com/questions/56107/what-is-the-best-way-to-parse-html-in-c – pinichi 2010-10-15 07:26:25

回答

6

应该使用HtmlAgilityPack。仍然是最好的!

+3

它不是吮吸,你不得不求助于第三第二方解决方案,其他语言本身支持该功能? – August 2014-11-02 11:02:43

2

使用类似Html Agility Pack的东西,它可以将您的html加载到一个DOM对象中,该对象可以通过例如xpath查询来遍历。

除非您的html实际上是xhtml,否则它通常不是有正确开头和结尾节点标签的有效xml结构。

+0

我想标记这个答案,但htmlagilitypack不能用我给它的文档,LoadFile()方法没有返回值,也不会引发异常。当我查询文档时,该文档似乎不会返回任何内容,所以我假设代码在这种情况发生时“默默无闻”? – 2013-01-02 15:46:47

+0

嗨@ConradB,你有没有尝试http://htmlagilitypack.codeplex.com/wikipage?title=示例中的示例?加载不应该返回任何东西,但它应该让你能够循环选择节点。 – 2013-01-02 20:29:15