我正在使用HtmlAgilityPack
,并且遇到以下情况:
<table class='table-main odds '>
<tbody>
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
您可以看到里面只有三个tr
包含内容,因此我希望最终结果中仅前三个tr
可用。实际上我的代码返回了所有tr
:
HtmlNode oddsTable = doc.DocumentNode
.SelectSingleNode("//table[starts-with(@class, 'table-main')]");
HtmlNodeCollection rows = oddsTable.SelectNodes("tbody//tr");
如何使用xpath
实现这一目标?
感谢您的帮助和解释。
答案 0 :(得分:5)
取决于您对 content 的理解:
//tr[node()]
//tr[*]
//tr[text()]
//tr[normalize-space()]