Html Agility Pack - boucle à travers les lignes et les colonnes

asp.net c# html-agility-pack

Question

Comment puis-je parcourir les tables et les lignes qui ont un identifiant ou un nom d'attribut pour obtenir le texte interne au plus profond de chaque cellule td? Je travaille sur asp.net, c # et le dernier package d'agilité HTML. S'il vous plaît guider. Je vous remercie.

Un fichier html contient plusieurs tables. L'un d'eux a un attribut id = main-partie. Dans cette table identifiée, il y a beaucoup de lignes. Certaines de ces lignes ont le même attribut name = display. Dans ces lignes nommées, il y a beaucoup de colonnes dont je dois extraire le texte. Quelque chose comme ça:

<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>

Réponse acceptée

Vous devez sélectionner ces nœuds en utilisant xpath:

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

Réponse populaire

Ça a marché! Merci beaucoup Oded.

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

Il a montré des résultats comme JanFebMarAprMayJuneJulAugSepOctNovDec . Comment puis-je les trier, séparés par un espace ou un onglet? Je vous remercie.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi