【问题标题】:Select a node based on name in html agility pack根据 html 敏捷包中的名称选择节点
【发布时间】:2016-01-01 02:11:02
【问题描述】:

我有一个这样的表单元素:

<form autocomplete="on" class="class1" action="action1" method="post" name="name1">
</form>

网页中有5个表单,我可以使用class属性访问表单:

doc.DocumentNode.SelectNodes("//form[@class='class1']")

我正在尝试通过使用 name 属性来捕获它,但它即将为空:

doc.DocumentNode.SelectNodes("//form[@name='name1']")

recommended by @Simon提出这个问题

【问题讨论】:

  • 交叉检查:doc.DocumentNode.SelectNodes("//form[@name]") 给了你什么?
  • @Tomalak - 它现在给了我所有表格的集合

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


【解决方案1】:

(我不知道为什么,但是)这是提供所需的形式:

doc.DocumentNode.SelectSingleNode("//form[@name='name1']")

【讨论】:

  • 这很奇怪。
  • @Tomalak - 真的,我真的尝试了你的建议。它给了我表单的集合,然后我尝试了这段代码,这次没有返回 null
  • SelectSingleNode 在内部执行与 SelectNodes 相同的操作。如果您使用其中一个函数得到结果,那么您应该也得到另一个函数的结果。
猜你喜欢
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-26
  • 2013-03-04
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多