读书人

怎么将string转成HtmlDocument

发布时间: 2012-09-04 14:19:30 作者: rapoo

如何将string转成HtmlDocument?
用WebRequest获得了一个网页html的string,(代码如下:)现在想将它转成HtmlDocument,不想用到webBrowser,因为webBrowser实在太慢,太多问题要处理; 然而HtmlDocument却无法通过简单的new关键字来创建,该怎么办?

或者,有什么类似HtmlDocument的东东可以方便地处理用WebRequest获得的html的string?也不想用正则表达式来处理,因为感觉太难写了,没有HtmlDocument里面的GetElementById之类的方法那么简单好用啊。

C# code
string url = "http://stock.finance.sina.com.cn/hkstock/finance/01398.html";            WebRequest request = WebRequest.Create(url); //请求url            WebResponse response = request.GetResponse(); //获取url数据            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));            string tempStr = reader.ReadToEnd();


[解决办法]
你用HtmlAgilityPack试试,下载地址http://htmlagilitypack.codeplex.com/

使用如下
C# code
 HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.Load(Server.MapPath("~/test.txt")); HtmlNodeCollection nodes = htmlDoc.DocumentNode.SelectNodes(@"//tbody//tr"); foreach (HtmlNode node in nodes) { Response.Write(node.SelectSingleNode(@"td[1]/a").Attributes["href"].Value + "<br/>"); Response.Write(node.SelectSingleNode(@"td[1]/a").InnerText + "<br/>"); Response.Write(node.SelectSingleNode(@"td[2]/span").InnerText + "<br/>"); Response.Write(node.SelectSingleNode(@"td[3]").InnerText + "<br/>"); Response.Write(node.SelectSingleNode(@"td[4]/span").InnerText + "<br/>"); } 

读书人网 >C#

热点推荐