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; 
+0

嗯但我不能用.InnerText “严重\t代码\t说明\t项目\t文件\t线\t抑制状态 错误\t CS1061 \t‘HtmlNodeCollection’不包含'InnerText'的定义,并且没有扩展方法'InnerText'接受类型'HtmlNodeCollection'的第一个参数可以找到(你是否缺少使用指令或程序集引用?“ – Nedvid

+0

对不起,你可以尝试SelectSingleNode而不是选择节点 – Sujith

+0

这里和这里是相同的问题 – Nedvid