Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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# 如何从HtmlDocument对象筛选隐藏字段?_C#_Asp.net - Fatal编程技术网

C# 如何从HtmlDocument对象筛选隐藏字段?

C# 如何从HtmlDocument对象筛选隐藏字段?,c#,asp.net,C#,Asp.net,我已经使用HtmlWeb加载了HtmlDocument。我知道我可以使用SelectNodes方法获取所有隐藏的输入字段。但我不想得到所有隐藏的输入,比如VIEWSTATE或EVENTTARGET。我如何过滤它们 代码: 编辑: 是否有任何XPath可用于筛选隐藏的输入字段?您可以使用以下XPath忽略任何Asp.NET特殊隐藏字段。其所有特殊字段的名称都以两个下划线开头: HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load(url)

我已经使用HtmlWeb加载了HtmlDocument。我知道我可以使用SelectNodes方法获取所有隐藏的输入字段。但我不想得到所有隐藏的输入,比如VIEWSTATE或EVENTTARGET。我如何过滤它们

代码:

编辑:
是否有任何XPath可用于筛选隐藏的输入字段?

您可以使用以下XPath忽略任何Asp.NET特殊隐藏字段。其所有特殊字段的名称都以两个下划线开头:

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);

HtmlNodeCollection visibleFieldNodes = doc.DocumentNode.SelectNodes("//input[not(starts-with(@name, '__'))]");

//输入[not@type='hidden']如果我没有澄清,我很抱歉。这并不是说我不想要隐藏的输入字段。我只是不想把它们都放在我的视野里。我需要在他们中间过滤。那么,有什么xpath我可以应用吗?它只是你不感兴趣的asp.net吗?它们都以_;开头,还是你想要的某个列表ignore@nazmoonnoor现在是否删除所有不需要的输入字段?或者还有其他你想过滤掉的吗?这将删除ASP.NET自动添加的输入
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);

HtmlNodeCollection visibleFieldNodes = doc.DocumentNode.SelectNodes("//input[not(starts-with(@name, '__'))]");