Есть ли способ получить элемент по идентификатору с помощью httpwebrequest? - PullRequest
0 голосов
/ 03 января 2012

Я понимаю основы httpwebrequest и не ищу ответов в веб-браузерах. Мой предыдущий метод был выполнен с использованием веб-браузеров, но из-за отсутствия скорости я перешел на httpwebrequest для ускорения процесса.

У меня есть идентификатор элемента, который я хотел бы получить и использовать в httpwebrequest, но не уверен, с чего начать.

Спасибо

1 Ответ

0 голосов
/ 03 января 2012

ОК, чтобы было ясно: вы не можете получить элемент из HttpWebRequest, вы должны получить его из HttpWebResponse (поскольку именно здесь вы получаете HTML).

  1. HttpWebResponse предоставляет вам доступ к потоку ответов, который вы можете получить, позвонив по номеру GetResponseStream().
  2. Создайте HtmlDocument (я рекомендую использовать HTMLAgilityPack библиотека для этого).
  3. Используйте XPath, чтобы получить элемент, делая что-то вроде: var nodes = htmlDoc.DocumentNode.SelectNodes("//*[@id='myname']");

Я точно не помню,но также может быть способ получить элемент по идентификатору:

htmlDoc.GetElementById("myname");

Затем вы можете перебирать узлы и делать там все, что вам нужно.

Вот еще один пример: http://blogs.msdn.com/b/joshch/archive/2006/12/10/better-html-parsing-and-validation-with-htmlagilitypack.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...