HTML敏捷性包解析DIV
问题描述:
我试图解析HTML,我需要从这一部分获得 “文”:HTML敏捷性包解析DIV
<div class="_gdf kno-fb-ctx">
<span data-ved="0ahUKEwjIr9brjO7UAhUnYZoKHda-ALgQ2koIogEoAjAT"> text</span>
</div>
这里是我的C#代码:
var message = doc.DocumentNode.SelectSingleNode("//div[@class='_gdf kno-fb-ctx']").InnerText;
Console.WriteLine(message);
我是什么做错了?
答
我看到您没有选择实际的“跨度”节点来读取InnertTex。你已经选择了div并试图阅读InnertTex,它不会给你想要的结果“文本”。相反,你可以做象下面这样:
HtmlAgilityPack.HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("<div class='_gdf kno-fb-ctx'><span data-ved = '0ahUKEwjIr9brjO7UAhUnYZoKHda-ALgQ2koIogEoAjAT'> text </span ></div >");
var text = doc.DocumentNode.SelectSingleNode("//div[@class=\"_gdf kno-fb-ctx\"]//span").InnerText;
嗯但我不能用.InnerText “严重\t代码\t说明\t项目\t文件\t线\t抑制状态 错误\t CS1061 \t‘HtmlNodeCollection’不包含'InnerText'的定义,并且没有扩展方法'InnerText'接受类型'HtmlNodeCollection'的第一个参数可以找到(你是否缺少使用指令或程序集引用?“ – Nedvid
对不起,你可以尝试SelectSingleNode而不是选择节点 – Sujith
这里和这里是相同的问题 – Nedvid