【问题标题】:Html Agility - Get Value by Name TagHtml Agility - 通过名称标签获取价值
【发布时间】:2012-07-15 02:56:27
【问题描述】:

我需要从输入中获取一个值,但 id 总是改变,只有名字是一样的。 在谷歌上没有找到任何通过名称标签提取值的东西。

例子:

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

我期待一些答案。

【问题讨论】:

  • 您的 HTML 中没有 runat="sever"。那你能说说为什么要用C#标签吗?
  • 这只是一个输入字段的例子。这也是一个桌面应用程序,我需要解析一个网站。

标签: c# parsing html-parsing html-agility-pack


【解决方案1】:
var input= doc.DocumentNode
              .Descendants("input")
              .First(n=>n.Attributes["name"].Value=="data[_Token][key]");

【讨论】:

    【解决方案2】:

    您可以尝试获取 Id 的第一部分,如果它始终为 Token#####

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

    【讨论】:

    • 对不起,我忘了说,但是有2个字段不同的token,和例子一样,只是名字不同。
    【解决方案3】:

    试试这个

    var dummy = document.getElementsByName("data[_Token][key]");

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 2014-03-27
      • 1970-01-01
      相关资源
      最近更新 更多