2013-12-18 2 views
0

У меня есть веб-страница, на которой нужно проанализировать значения объявлений, которые будут храниться в sqlserver db. Я попытался использовать пакет HTMLagility.C# htmlagilitypack получить значения таблицы

HtmlDocument hdoc = new HtmlDocument(); 
hdoc.LoadHtml(HTML); 
var cols = hdoc.DocumentNode.SelectNodes("//table[@id='results']//tr//th//td"); 
for (int i = 0; i < cols.Count; i = i + 2) 
{ 
      DataRow dr = dt.NewRow(); 
      string name = cols[i].InnerText.Trim(); 
} 

Это как мой HTML выглядит

<table id="results"> 
    <tr> 
     <th style="white-space: nowrap;"> 
      ID 
     </th> 
     <th style="text-align: left;"> 
      Entity Name /<br> 
      Type 
     </th> 
     <th style="white-space: nowrap;"> 
      Registered<br> 
      Effective Date 
     </th> 
     <th> 
      Status /<br> 
      Status Date 
     </th> 
    </tr> 
    <tr class="exactMatch" valign="top"> 
     <td class="entityID"> 
      123456 
     </td> 
     <td class="nameAndTypeDescription"> 
      <span class="name"><a href="test.aspx?entityID=123456&hash=2055339395&orgTypes=01%2c99"> 
       NAME1 COMPANY </a></span> 
      <br /> 
      <span class="typeDescription">55 - TRadeUnion Company </span> 
     </td> 
     <td class="registeredEffectiveDate"> 
      01/12/1912 
     </td> 
     <td class="statusDescriptionAndStatusDate"> 
      <span class="statusDescription">Exists Now </span> 
      <br> 
      <span class="statusDate">12/14/1943</span> 
     </td> 
    </tr> 
    <tr class="exactMatch" valign="top"> 
     <td class="entityID"> 
      A23456 
     </td> 
     <td class="nameAndTypeDescription"> 
      <span class="name"><a href="test.aspx?entityID=A23456&hash=615278445&orgTypes=01%2c99"> 
       TESTA, INC. </a></span> 
      <br /> 
      <span class="typeDescription">09 - Domestic Corporation </span> 
     </td> 
     <td class="registeredEffectiveDate"> 
      04/29/1926 
     </td> 
     <td class="statusDescriptionAndStatusDate"> 
      <span class="statusDescription">Dissolved Company </span> 
      <br> 
      <span class="statusDate">06/16/1998</span> 
     </td> 
    </tr> 
</table> 

мне нужно вставить EntityId, имя, гиперссылок, описание типа, registeredeffectivedate, описание состояния, дата статус. Сейчас все они печатаются в одной строке, и я знаю, как ее разобрать. Пожалуйста помоги.

Благодаря MR

ответ

1

ТД являются не вложен в TH-х.

Попробуйте следующее: SelectNodes("//table[@id='results']/tr/td");

+0

Я сделал это. Я получаю столбец как 8 (2 строки * 4 столбца) в цикле for. Как сохранить строку за строкой в ​​базе данных? – user2726975

+0

Я показал вам, как извлекать данные из таблицы HTML с помощью пакета HTMLAgility. Если кто-то научит вас, как вставлять данные в базу данных, выходит за рамки одного вопроса. Попробуйте, когда вы застрянете, задайте другой вопрос. –

+0

Вот что я написал: var cols = hdoc.DocumentNode.SelectNodes ("// table [@ id = 'results']/tr/td"); для (int i = 0; i user2726975

Смежные вопросы