Ok, así que necesito consultar un sitio web en vivo para obtener datos de una tabla, poner esta tabla HTML en una tabla de datos y luego usar esta información. Hasta ahora he logrado utilizar Html Agility Pack y XPath para acceder a cada fila de la tabla que necesito, pero sé que debe haber una forma de analizarlo en una DataTable. (C#) El código que estoy usando actualmente es:Obtener datos de la tabla HTML en una tabla de datos
string htmlCode = "";
using (WebClient client = new WebClient())
{
htmlCode = client.DownloadString("http://www.website.com");
}
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlCode);
//My attempt at LINQ to solve the issue (not sure where to go from here)
var myTable = doc.DocumentNode
.Descendants("table")
.Where(t =>t.Attributes["summary"].Value == "Table One")
.FirstOrDefault();
//Finds all the odd rows (which are the ones I actually need but would prefer a
//DataTable containing all the rows!
foreach (HtmlNode cell in doc.DocumentNode.SelectNodes("//tr[@class='odd']/td"))
{
string test = cell.InnerText;
//Have not gone further than this yet!
}
miradas La tabla HTML en la página web que estoy consultando como este:
<table summary="Table One">
<tbody>
<tr class="odd">
<td>Some Text</td>
<td>Some Value</td>
</tr>
<tr class="even">
<td>Some Text1</td>
<td>Some Value1</td>
</tr>
<tr class="odd">
<td>Some Text2</td>
<td>Some Value2</td>
</tr>
<tr class="even">
<td>Some Text3</td>
<td>Some Value3</td>
</tr>
<tr class="odd">
<td>Some Text4</td>
<td>Some Value4</td>
</tr>
</tbody>
</table>
No estoy seguro de si es mejor/más fácil use LINQ + HAP o XPath + HAP para obtener el resultado deseado; probé ambos con un éxito limitado, como probablemente pueda ver. Esta es la primera vez que hago un programa para consultar un sitio web o incluso interactúo con un sitio web de alguna manera, así que estoy muy inseguro en este momento. Gracias por cualquier ayuda de antemano :)
hace esto ayuda? http://weblogs.asp.net/grantbarrington/archive/2009/10/15/screen-scraping-in-c.aspx – iwayneo