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
Является ли этот КБ законным? Да, узнайте, почему