2013-12-18 2 views
0

sqlserver db에 저장 될 광고 값을 구문 분석해야하는 웹 페이지가 있습니다. HTMLagility 팩을 사용하려고했습니다. 내 HTML을C# htmlagilitypack 테이블 값 가져 오기

<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, 상태 설명, 상태 날짜를 삽입 할 필요가 어떻게 보이는지

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(); 
} 

이입니다. 지금 그들은 모두 한 줄로 인쇄하고 그것을 파싱하는 방법을 알고 있습니다. 도와주세요.

감사 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"); for (int i = 0; i user2726975

관련 문제