2011-01-07 16 views
5

HtmlAgilityPack kullanarak html'yi ayrıştırarak bir html tablosundan bilgi almaya çalışıyorum.C# HTML tablosundan veri almak için HtmlAgilityPack kullanarak

HtmlWeb hw = new HtmlWeb(); 
      HtmlAgilityPack.HtmlDocument htmlDoc = hw.Load(@"http://www.some123123site.com/index"); 



      if (htmlDoc.DocumentNode != null) 
      { 
       HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//tbody"); 

       if (bodyNode != null) 
       { 
        // Do something with bodyNode 
       } 
      } 
:

AA00857, TPRCF, 16908/2, ETG_C 

şimdiye kadar sahip olduğum bütün şudur: i bu değerlerden yukarıdan ayıklamak gerekir

... 
... 
... 
<tbody> 
        <tr> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">AA00857</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div></div> 
          <div class="style_20">TPRCF</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21"></div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21">16908/2</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">&nbsp;ETG_C</div> 
         </td> 
        </tr> 
        <tr> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">AA</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div></div> 
          <div class="style_20">TPRCF</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21"></div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21">16909/19</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">&nbsp;ETG_C</div> 
         </td> 
        </tr> 
        <tr> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">AA</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div></div> 
          <div class="style_20">TPRCF</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21"></div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_21">16907/7</div> 
         </td> 
         <td class="style_19" style="vertical-align: baseline;"> 
          <div class="style_18">&nbsp;ETG_C</div> 
         </td> 
        </tr> 
... 
... 

: Burada

gibi HTML benzediğini olduğunu

lütfen yardım edin!

cevap

2

Bu deneyin:

HtmlWeb hw = new HtmlWeb();    
HtmlAgilityPack.HtmlDocument htmlDoc = hw.Load(@"http://www.some123123site.com/index");     
if (htmlDoc.DocumentNode != null)    
{     
     foreach(HtmlNode text in htmlDoc.DocumentNode.SelectNodes("//tr/td/div/text()")) 
     {  
      Console.WriteLine(text.InnerText); 
     } 
} 
+0

Hata 'HtmlAgilityPack.HtmlDocument 'documentElement' ve uzatma yöntemi 'documentElement' türü bir birinci argüman kabul 'HtmlAgilityPack.HtmlDocument' olabilir için bir tanım içermez bulunamadı Error 'HtmlAgilityPack.HtmlDocument', 'DocumentElement' için bir tanım içermiyor ve 'HtmlAgilityPack.HtmlDocument' türünde bir ilk bağımsız değişken kabul eden 'DocumentElement' uzantısı olmayan bir uzantı yöntemi bulunamadı –

+0

@cybernate im hataya ulaşma –

+0

'DocumentNode' –

İlgili konular