C #. NET парсинг HTML - PullRequest
       1

C #. NET парсинг HTML

0 голосов
/ 28 марта 2011

Я создаю веб-страницу, которая будет извлекать некоторые данные формы из множества других страниц. Например, скрытое поле формы:

<input type="hidden" id="thefield" value="thegoods" />

Теперь это поле всегда будет иметь один и тот же идентификатор, но иногда оно записывается в двойных кавычках ("), иногда в одинарных ('), а иногда ни в одном. Таким образом, это затрудняет простое использование indexof для получения требуемого данные.

Есть ли способ в c # .net получить значение элементов формы способом jquery.

Так что я могу просто указать идентификатор элемента, и его значение будет возвращено.

Любая помощь приветствуется.

Спасибо

Грант Анвин

Ответы [ 2 ]

7 голосов
/ 28 марта 2011

Самый простой способ - использовать HtmlAgilityPack .

Пример:

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load("test.html");

HtmlNode node = doc.DocumentNode.SelectSingleNode("//input[@id='thefield']");
var value = node.Attributes["value"].Value; //"thegoods"

Edit:

для загрузки HTML-страницы из Интернета вместо локального файла используйте HtmlWeb:

HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument doc = htmlWeb.Load("http://stackoverflow.com");
...
0 голосов
/ 28 марта 2011

Я рекомендую HtmlAgilityPack, но он основан на XPath, а не на JQuery. Fizzler имеет синтаксис, намного более близкий к JQuery, но не настолько зрелый.

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