内部包含内容的元素的 XPath?

XPath for elements with content inside?

我正在使用 HtmlAgilityPack 并且遇到以下情况:

<table class='table-main odds '>   
   <tbody>
      <tr>..</tr>
      <tr>..</tr>
      <tr>..</tr>
      <tr></tr>
      <tr></tr>
  </tbody>
</table>          

因为你可以看到里面只有三个 tr 有内容,所以我希望在最终结果中应该只有前三个 tr 可用。实际上我的代码 return 所有 tr:

 HtmlNode oddsTable = doc.DocumentNode
          .SelectSingleNode("//table[starts-with(@class, 'table-main')]");
 HtmlNodeCollection rows = oddsTable.SelectNodes("tbody//tr");

如何使用 xpath 实现?

感谢您的帮助和解释。

取决于你的意思 content:

  • 任何内容//tr[node()]
  • 元素内容//tr[*]
  • 正文内容//tr[text()]
  • 非空白内容//tr[normalize-space()]