2012-04-04 46 views
1

我想知道如何從align = left樣式的DIV中獲取文本?HTML敏捷包 - 從對齊=左邊樣式的DIV獲取文本

這是我的代碼到目前爲止我的xpath查詢,我唯一的問題是在這裏我不知道我的xpath查詢是否正確。

我認爲問題出在我的xpath查詢的[@ align ='left]'代碼中。

var nodes = doc.DocumentNode.SelectNodes("//div[@align='left']"); 
+0

看起來沒問題。有什麼問題?任何錯誤?例外?什麼不工作?節點變量應包含具有這些節點的節點集合。 – Oded 2012-04-04 14:06:57

+0

我認爲代碼中的@ align ='left'不正確..我沒有收到div標籤中的文本 – guitarPH 2012-04-04 14:12:52

+0

您是如何訪問每個選定節點的文本的?你沒有那個代碼。 – Oded 2012-04-04 14:13:45

回答

0

HtmlNode.SelectNodes方法選擇與傳遞的xpath表達式匹配的節點列表。你需要迭代這些節點,並得到這樣的每個項目的InnerHtml(或InnerText):

// check if nodes found 
if (nodes != null) 
    foreach (var div in nodes) 
    { 
     var html = div.InneHtml; 
    } 
+0

感謝您的回答,但我已經在我的代碼中擁有該答案。我唯一的問題是在xpath查詢中。 – guitarPH 2012-04-04 14:16:51

+0

@ user1307655,你的xpath看起來沒問題。我試了一下,它選擇了「align」屬性設置爲「left」的div。 – Alex 2012-04-04 14:46:38

+0

確保你檢查了'null'結果。如果HAP不能找到任何節點,它將返回null,而不是一個空集合:'var nodes =(doc.DocumentNode.SelectNodes(「// div [@ align ='left']」)?? new HtmlNodeCollection(null) );' – jessehouwing 2012-04-04 17:32:17