2012-01-03 149 views
0

我了解httpwebrequest的基本知识,我不在网络浏览器上寻找任何答案。我以前的方法是使用webbrowsers完成的,但由于速度的不足,我转移到httpwebrequest来加速这个过程。有没有办法通过使用httpwebrequest的ID获取元素?

我有一个元素的id,我想抓取并使用在httpwebrequest但不知道我会从那开始。

感谢

+0

你想抓住哪个元素? – Kiril 2012-01-03 18:30:49

+0

元素的名称是id =“myname” – 2012-01-03 18:35:43

+0

好的......但神秘,但我会与之合作。 – Kiril 2012-01-03 18:42:50

回答

0

OK,所以要清楚:你不能从HttpWebRequest抢一个元素,你必须从HttpWebResponse得到它(因为这是你得到的HTML)。

  1. HttpWebResponse提供访问到响应流,这可以通过调用GetResponseStream()获得。
  2. 实例化一个HtmlDocument(我建议您使用HTMLAgilityPack库)。
  3. 使用XPath做线沿线的东西来获取元素:我完全不记得 var nodes = htmlDoc.DocumentNode.SelectNodes("//*[@id='myname']");

,但也可能是通过ID获取元素的方法:

htmlDoc.GetElementById("myname");

然后,您可以遍历节点并执行您需要的任何操作。

这是另一个例子:http://blogs.msdn.com/b/joshch/archive/2006/12/10/better-html-parsing-and-validation-with-htmlagilitypack.aspx

相关问题