2017-07-03 118 views
0

我試圖解析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); 

我是什麼做錯了?

回答

0

我看到您沒有選擇實際的「跨度」節點來讀取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