如何在 C# 中通过 HTML 源中的类或 id 获取元素?
我正在尝试使用 C# windows 窗体应用程序根据类或 id 名称从 HTML 源中获取元素。我使用 WebClient 将源代码放入字符串中,并使用 HtmlDocument 将其插入 HTMLAgilityPack。
然而,我在 HTMLAgilityPack 包中找到的所有示例都会解析并根据标签查找项目。我需要找到一个特定的 id,比如 html 中的链接,并检索标签内的值。这可能吗?最有效的方法是什么?我试图解析 id 的所有事情都给了我例外。谢谢!
I am trying to grab elements from HTML source based on the class or id name, using C# windows forms application. I am putting the source into a string using WebClient and plugging it into the HTMLAgilityPack using HtmlDocument.
However, all the examples I find with the HTMLAgilityPack pack parse through and find items based on tags. I need to find a specific id, of say a link in the html, and retrieve the value inside of the tags. Is this possible and what would be the most efficient way to do this? Everything I am trying to parse out the ids is giving me exceptions. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该能够使用 XPath 执行此操作:
此处对 xpath 的快速说明:
//
表示搜索路径中的所有位置,如果要匹配多个, 请使用
表示匹配任何类型的节点SelectNodes
>*[]
定义“谓词”,基本上检查与此节点相关的属性[@id=\"my_control_id\"]
表示查找具有名为的属性的节点“id”,值为“my_control_id”更多参考
You should be able to do this with XPath:
Quick explanation of the xpath here:
//
means search everywhere in the path, UseSelectNodes
if it will be matching multiples*
means match any type of node[]
define "Predicates" which are basically checking properties relative to this node[@id=\"my_control_id\"]
means find nodes that have an attribute named "id" with the value "my_control_id"Further reference