Ich muss alle tr
aus allen Tabellen mit HTML Agility Pack abrufen.
HTML:
<section class="content-section" id="more">
<div class="row">
<div class="col-xs-6"></div>
<div class="col-xs-6">
<h2>Specs</h2>
<div>
<div>
<table>
<thead>
<tr><th colspan="2"> test</th></tr>
</thead>
<tbody>
<tr><td>2</td><td>b</td></tr>
<tr><td>1</td><td>a</td></tr>
</tbody>
</table>
<table>
<tbody>
<tr><td>3</td><td>c</td></tr>
<tr><td>4</td><td>d</td></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
C #:
HtmlNodeCollection featuresNode = document.DocumentNode.SelectNodes("//*[@id='more']/div/div[2]/div/div[1]/table/tbody/tr");
Ich bin nur in der Lage, erste Tabelle tr
aber nicht alle zwei Tabelle tr
in HtmlNodeCollection
.
Um alle tr
Knoten einschließlich der in thead
, aktualisieren Sie Ihren XPath
zu:
"//*[@id='more']/div/div[2]/div/div[1]/table//tr"
Dieser vereinfachte XPath
sollte auch funktionieren:
"//*[@id='more']//tr"
Wenn du nur die tr
von tbody
, benutze:
"//*[@id='more']//tbody//tr"
Oder ohne tr
von thead
, verwenden Sie:
"//*[@id='more']//tr[not(ancestor::thead)]"