Html Agility Pack - цикл через строки и столбцы

asp.net c# html-agility-pack

Вопрос

Как я могу перебирать таблицу и строку с идентификатором или именем атрибута, чтобы получить внутренний текст в глубине в каждой ячейке td? Я работаю над asp.net, c # и новейшим пакетом гибкости html. Пожалуйста, направляйте. Спасибо.

Файл html имеет несколько таблиц. Один из них имеет атрибут id = main-part. В этой идентифицированной таблице много строк. Некоторые из этих строк имеют одинаковое имя атрибута = отображение. В этих именованных строках есть много столбцов, из которых мне нужно извлечь текст. Что-то вроде этого:

<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
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему