包含内容的元素的XPath?

c# html html-agility-pack xml xpath

我正在使用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实现这一目标?

感谢您的帮助和解释。

一般承认的答案

取决于你的内容是什么意思:

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


Related

许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow