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加载?更新以添加一个示例