Dre*_*rew 5 html c# parsing html-agility-pack
我试图使用C#windows窗体应用程序从基于类或id名称的HTML源中获取元素.我使用WebClient将源代码放入一个字符串中,并使用HtmlDocument将其插入HTMLAgilityPack.
但是,我在HTMLAgilityPack包中找到的所有示例都会解析并根据标记查找项目.我需要找到一个特定的id,比如html中的一个链接,并检索标签内的值.这有可能吗?最有效的方法是什么?我试图解析id的一切都给了我例外.谢谢!
您应该可以使用XPath执行此操作:
HtmlDocument doc = new HtmlDocument();
doc.Load(@"file.htm");
HtmlNode node = doc.DocumentNode.SelectSingleNode("//*[@id=\"my_control_id\"]");
string value = (node == null) ? "Error, id not found" : node.InnerHtml;
Run Code Online (Sandbox Code Playgroud)
在这里快速解释xpath:
//表示在路径中的任何位置搜索,使用SelectNodes它是否匹配多个* 意味着匹配任何类型的节点[] 定义"Predicates",它基本上检查相对于此节点的属性[@id=\"my_control_id\"] 表示查找具有名为"id"的属性且值为"my_control_id"的节点| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |