2013-12-18 48 views
0

我有一個網頁,需要解析的廣告值存儲在sqlserver數據庫。我曾嘗試使用HTML包裝。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

的TD的不嵌套在TH的。

試試這個:SelectNodes("//table[@id='results']/tr/td");

+0

我做到了。我在for循環中將列計數設置爲8(2行* 4列)。我如何在數據庫中逐行存儲? – user2726975

+0

我向您展示瞭如何使用HTMLAgility包從HTML表中提取數據。有人教你如何將數據插入數據庫不在一個問題的範圍內。嘗試一下,當你卡住了,發表另一個問題。 –

+0

這是我寫的:var cols = hdoc.DocumentNode.SelectNodes(「// table [@ id ='results']/tr/td」); (int i = 0; i user2726975

相關問題