所以我有以下情况:
<table class="table-main detail-odds sortable">
..
</table>
<table class="table-main detail-odds sortable">
..
</table>
如您所见,我有两个具有相同类的表,我想获取最后一个表(由于表号不断变化,我无法使用索引)。
目前我有以下代码:
HtmlNode oddsTable = doc.DocumentNode
.SelectNodes("//table[@class='table-main detail-odds sortable']");
不幸的是,我找不到任何.Last()
方法,也许可以直接用xpath
做到这一点,所以不用SelectNodes()
吗?
答案 0 :(得分:4)
last()
仅在两个表都是同一父级的子级时才返回最后一个表。因此,如果HTML确实看起来像
<table class="table-main detail-odds sortable">
..
</table>
<table class="table-main detail-odds sortable">
..
</table>
然后
//table[@class='table-main detail-odds sortable'][last()]
将获取所需的表...
但以防万一
<div>
<table class="table-main detail-odds sortable">
..
</table>
</div>
<div>
<table class="table-main detail-odds sortable">
..
</table>
</div>
您可能需要
(//table[@class='table-main detail-odds sortable'])[count(//table[@class='table-main detail-odds sortable'])]
答案 1 :(得分:2)
您可以将last()
用作索引
"(//table[@class='table-main detail-odds sortable'])[last()]"
请务必在表达式中加上括号。