包含內容的元素的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
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因