Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#.net解析HTML_C#_Html_Visual Studio 2010 - Fatal编程技术网

c#.net解析HTML

c#.net解析HTML,c#,html,visual-studio-2010,C#,Html,Visual Studio 2010,我正在创建一个网页,它将从许多其他页面检索一些表单数据。例如,隐藏的表单字段: <input type="hidden" id="thefield" value="thegoods" /> 现在这个字段将始终具有相同的ID,但有时使用双引号(“),有时使用单引号(”),有时则不使用。因此,只进行“索引”检索所需数据会更加困难 在c#.net中是否有任何方法可以以jquery的方式检索表单元素的值 所以我可以指定元素ID,然后返回它的值 谢谢你的帮助 谢谢 Grant Unwin

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

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

现在这个字段将始终具有相同的ID,但有时使用双引号(“),有时使用单引号(”),有时则不使用。因此,只进行“索引”检索所需数据会更加困难

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

所以我可以指定元素ID,然后返回它的值

谢谢你的帮助

谢谢


Grant Unwin

最简单的方法可能是使用

示例:

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"
编辑:

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"
要从web而不是本地文件加载HTML页面,请使用
HtmlWeb

HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument doc = htmlWeb.Load("http://stackoverflow.com");
...

我推荐HtmlAgilityPack,但它基于XPath而不是JQuery。它的语法更接近JQuery,但还不够成熟。

如何将DLL包含到我的项目中?我以前从未使用过第三方DLL。@Grant:将HtmlAgilityPack包含到项目中的最简单方法是使用NuGet数据包管理器-您可以安装l NuGet作为VS扩展并从那里开始。或者,您可以从codeplex下载Htmlagibility并直接引用dll。您认为这是否适用于实时站点。或者我需要使用StreamReader吗?@Grant-您是指从URL加载?更新以添加一个示例