2012-01-03 151 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

相關問題