Html 민첩성 팩 - 행과 열을 반복합니다.

asp.net c# html-agility-pack

문제

각 td 셀에서 내부 텍스트를 깊숙히 가져 오기 위해 속성 ID 또는 이름이있는 테이블과 행을 반복 할 수 있습니까? asp.net, c # 및 최신 html 민첩성 패키지에서 작업합니다. 안내해주십시오. 고맙습니다.

html 파일에는 여러 개의 테이블이 있습니다. 그 중 하나에는 id = main-attribute 속성이 있습니다. 식별 된 테이블에는 많은 행이 있습니다. 이러한 행 중 일부는 동일한 속성 이름 = display를가집니다. 명명 된 행에는 텍스트를 추출해야하는 열이 많이 있습니다. 이 같은:

<body>
<table>
...
</table>
<table>
...
</table>

<table id="main-part">
   <tr>
     <td></td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
   <tr name="display">
     <td>Jan</td>
     <td>Feb</td>
     <td>Mar</td>
     ...
   </tr>
      <tr name="display">
     <td>Apr</td>
     <td>May</td>
     <td>June</td>
     ...
   </tr>
      <tr name="display">
     <td>Jul</td>
     <td>Aug</td>
     <td>Sep</td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
   <tr name="display">
     <td>Oct</td>
     <td>Nov</td>
     <td>Dec</td>
     ...
   </tr>
   <tr>
     <td></td>
     ...
   </tr>
</table>
<table>
...
</table>
</body>

수락 된 답변

xpath를 사용하여 다음 노드를 선택해야합니다.

foreach(HtmlNode cell in doc.DocumentElement.SelectNodes("//tr[@name='display']/td")
{
   // get cell data
}

인기 답변

그것은 효과가있다! 대단히 감사합니다.

    HtmlDocument doc = new HtmlDocument();
         doc.Load(@"C:/samplefolder/sample.htm"); 
foreach(HtmlNode cell in doc.DocumentNode.SelectNodes("//tr[@name='display']/td")) 
{
         string test = cell.InnerText;
         Response.Write(test); 
}

JanFebMarAprMayJuneJulAugSepOctNovDec 와 같은 결과를 보였습니다 . 스페이스 바 또는 탭으로 구분하여 어떻게 정렬 할 수 있습니까? 고맙습니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.