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>
Vous devez sélectionner ces nœuds en utilisant xpath:
foreach(HtmlNode cell in doc.DocumentElement.SelectNodes("//tr[@name='display']/td")
{
// get cell data
}
Ç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.