Comment obtenir élément par classe dans HtmlAgilityPack

asp.net c# html-agility-pack

Question

Bonjour je fais HttpWebResponse et obtenir le HtmlPage avec toutes les données dont j'ai besoin pour la table exemple avec la date dont j'ai besoin pour les enregistrer dans une liste de tableau et l'enregistrer dans un fichier XML

Exemple de page html

<table>
<tr>
<td class="padding5 sorting_1">
<span class="DateHover">01.03.14</span>
</td>
<td class="padding5 sorting_1">
<span class="DateHover" >10.03.14</span>
</td>
</tr>
</table>

mon code qui ne fonctionne pas, j'utilise HtmlAgilityPack

<table>
<tr>
<td class="padding5 sorting_1">
<span class="DateHover">01.03.14</span>
</td>
<td class="padding5 sorting_1">
<span class="DateHover" >10.03.14</span>
</td>
</tr>
</table>

Sow j'ai besoin de lire ces données pour obtenir la date du 01.03.14 et du 10.02.14 afin de pouvoir l'enregistrer dans une liste (puis dans un fichier xml)

Semez des idées, comment puis-je obtenir ces dates (01.03.14 et 10.02.14)?

Réponse acceptée

Html Agility Pack a un support XPATH, vous pouvez donc faire quelque chose comme ceci:

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//span[@class='" + ClassToGet + "']"))
{
    string value = node.InnerText;
    // etc...
}

Cela signifie: obtenir tous les éléments SPAN du haut du document (premier /), de manière récursive (second /) ayant un attribut CLASS donné. Ensuite, pour chaque élément, obtenez le texte interne.




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