2012-07-16 29 views
1

我需要从输入中获取值,但id始终更改,只有名称相同。 在Google上没有找到任何内容以通过名称标记提取值。Html Agility - 通过名称标记获取值

例子:

<input type="hidden" name="data[_Token][key]" value="5aafaee2dd21555c2615fd26c0cccd0f1b2c3018" id="Token749368899" /></div> 

我期待一些答案。

+0

HTML中没有runat =“sever”。那么你能否告诉我们为什么使用C#标签? – Narendra 2012-07-16 09:22:39

+0

这只是输入字段的一个例子。此外,这是一个桌面应用程序,我需要解析一个网站。 – Mek 2012-07-16 09:34:32

回答

3
var input= doc.DocumentNode 
       .Descendants("input") 
       .First(n=>n.Attributes["name"].Value=="data[_Token][key]"); 
0

你可以尝试获得标识的第一部分,如果它总是Token#####

//input[starts-with(@id, 'Token')] 
+0

对不起,我忘记说了,但有2个不同的标记字段,与例子中相同,只是名称不同。 – Mek 2012-07-16 09:21:27

0

试试这个

VAR虚拟= document.getElementsByName( “数据[_Token] [关键]”);

这将返回名称为“data [_Token] [key]”的元素。