2014-02-10 12 views
7

Ich versuche, eine komplizierte HTML zu scape. Ich muss etwas Text von Divs mit bestimmten Klassen bekommen.HTML-Agility-Pack erhalten alle Divs mit Klasse

Was ich versuche zu tun ist, haben die HTML-Agility-Pack, um über die gesamte HTML gehen und alle divs whos Klasse enthält "listevent" und geben Sie mir diese zurück.

Als ich online suchte, fand ich heraus, dass, wenn ich es kartografiere, es möglich ist, aber einige dieser divs sind unter soemany divs so versucht, einen einfachen Weg zu finden.

Das HTML sieht wie folgt aus

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

Sie kann es ohne HTMLAgility Pack mit Index Ihrer Zeichenfolge tun. Wenn Sie Ihren HTML-Code anzeigen, den Sie analysieren möchten, können andere Ihre Frage besser beantworten. –

+0

Bitte geben Sie den HTML-Code oder den Link, um Ihnen zu helfen –

Antwort

13

Sie SelectNodes Methode verwenden, um

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

Wenn Sie mehr vertraut mit CSS Stilselektoren sind, versuchen Sie fizzler und tun dies

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

Ich habe versucht, aber es gibt null zurück. Es sei denn ich map excatly wo sind die divs (ich meine wie SelecNodes ("// div/div/td/...") es wird alles null –

+0

@BurakGazi http://pastebin.com/tUdQ1vSm funktioniert auf meinem Rechner –

+0

Entschuldigung , anscheinend hatte ich Probleme beim Laden des HTML. –

Verwandte Themen