2011-01-07 13 views
5

estoy tratando de obtener información de una tabla html analizando el html usando HtmlAgilityPack.C# utilizando HtmlAgilityPack para obtener datos de la tabla HTML

aquí es lo que ve el HTML como:

... 
... 
... 
<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> 
... 
... 

i necesidad de extraer de lo anterior estos valores:

AA00857, TPRCF, 16908/2, ETG_C 

hasta ahora todo lo que tengo es esta:

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 
       } 
      } 

por favor ayuda!

Respuesta

2

Prueba esto:

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

error 'HtmlAgilityPack.HtmlDocument' no contiene una definición para 'DocumentElement' y ningún método de extensión 'DocumentElement' aceptar un primer argumento de tipo 'HtmlAgilityPack.HtmlDocument' podría se encuentra Error 'HtmlAgilityPack.HtmlDocument' no contiene una definición para 'DocumentElement' y no se puede encontrar ningún método de extensión 'DocumentElement' que acepte un primer argumento de tipo 'HtmlAgilityPack.HtmlDocument' –

+0

@cybernate obteniendo el error por encima de –

+0

es 'DocumentNode' –

Cuestiones relacionadas