J'ai donc la situation suivante:
<table class="table-main detail-odds sortable">
..
</table>
<table class="table-main detail-odds sortable">
..
</table>
comme vous pouvez le voir, j'ai deux tables avec les mêmes classes, je veux obtenir la dernière table (je ne peux pas utiliser index car le numéro de la table change).
Pour le moment j'ai ce code:
HtmlNode oddsTable = doc.DocumentNode
.SelectNodes("//table[@class='table-main detail-odds sortable']");
malheureusement, je ne trouve aucune méthode .Last()
, peut-être est-il possible de le faire directement avec xpath
donc sans utiliser SelectNodes()
Vous pouvez utiliser last()
comme index
"(//table[@class='table-main detail-odds sortable'])[last()]"
Assurez-vous de mettre l'expression entre parenthèses.
last()
ne vous retournera la dernière table que si les deux tables sont des enfants du même parent. Donc, si HTML ressemble vraiment à
<table class="table-main detail-odds sortable">
..
</table>
<table class="table-main detail-odds sortable">
..
</table>
puis
//table[@class='table-main detail-odds sortable'][last()]
ira chercher la table requise ...
Mais au cas où
<div>
<table class="table-main detail-odds sortable">
..
</table>
</div>
<div>
<table class="table-main detail-odds sortable">
..
</table>
</div>
vous pourriez avoir besoin
(//table[@class='table-main detail-odds sortable'])[count(//table[@class='table-main detail-odds sortable'])]