2014-02-10 60 views
7

我正在嘗試複雜的HTMl。我需要從div的某些類獲得一些文本。HTML敏捷包通過類獲取所有div

我想要做的是有html敏捷包來瀏覽整個html,並找到所有的divs whos類包含「listevent」並返回給我。

當我在網上搜索時,我發現如果我映射它,它是可能的,但這些div中的一些是在somemany divs,所以試圖找到一些簡單的方法。

的HTML看起來像這樣

<div> 
    <div> 
     <table> 
      <tr> 
      <td> 
       <div class="thisone listevent"></td> 
      <td> 
       <div class="thisone listevent"></td> 
      </tr> 
     </table> 
    </div> 
</div> 
+1

你可以在沒有使用字符串索引的HTMLAgility包的情況下完成。如果你顯示你正在嘗試解析的html,這將幫助其他人更好地回答你的問題。 –

+0

請提供HTML或鏈接以幫助您 –

回答

13

你可以使用SelectNodes方法

foreach(HtmlNode div in document.DocumentNode.SelectNodes("//div[contains(@class,'listevent')]")) 
{ 
} 

如果你更熟悉CSS樣式選擇,嘗試fizzler做這個

document.DocumentNode.QuerySelectorAll("div.listevent"); 
+0

我試過但它返回null。除非我興奮地映射div(我的意思是像SelecNodes(「/ div/div/td/...」),否則它將全部爲空 –

+0

@BurakGazi http://pastebin.com/tUdQ1vSm在我的機器上工作 –

+0

對不起,顯然我在加載html時遇到了問題。 –