c#.net解析HTML

gun*_*win 0 html c# visual-studio-2010

我正在创建一个网页,它将从许多其他页面中检索一些表单数据.例如隐藏的表单字段:

<input type="hidden" id="thefield" value="thegoods" />
Run Code Online (Sandbox Code Playgroud)

现在这个字段将始终具有相同的ID,但有时会用双引号("),有时单引号(')写入,有时甚至没有.所以这使得更难以仅仅执行"indexof"来检索所需的数据.

在c#.net中是否有任何方法以jquery方式检索表单元素的值.

所以我可以只指定元素ID,并返回它的值.

任何帮助赞赏.

谢谢

格兰特恩温

Bro*_*ass 7

最简单的方法可能是使用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"
Run Code Online (Sandbox Code Playgroud)

编辑:

从Web加载HTML页面而不是本地文件使用HtmlWeb:

HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument doc = htmlWeb.Load("http://stackoverflow.com");
...
Run Code Online (Sandbox Code Playgroud)