XPath für Elemente mit Inhalt innerhalb?

c# html html-agility-pack xml xpath

Frage

Ich verwende HtmlAgilityPack und ich habe die folgende Situation:

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

wie du sehen kannst, haben nur drei tr Inhalt innen, also möchte ich, dass im Endergebnis nur die ersten drei tr verfügbar sein sollten. Tatsächlich gibt mein Code alle tr :

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

Wie kann ich das mit xpath ?

Danke für jede Hilfe und Erklärung.

Akzeptierte Antwort

Hängt davon ab, was du mit Inhalt meinst:

  • Beliebiger Inhalt : //tr[node()]
  • Elementinhalt : //tr[*]
  • Textinhalt : //tr[text()]
  • Non-Whitespace-Inhalt : //tr[normalize-space()]



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum