1
我有一些HTML,看起來像這樣:如何讓我的XPath只在每個表中搜索?
<table class="resultsTable">
<tbody>
<tr class="even">
<td width="35%"><strong>Name</strong></td>
<td>ACME ANVILS, INC</td>
</tr>
</tbody>
</table>
和看起來像這樣的一些C#代碼:
var name = document.DocumentNode
.SelectSingleNode("//*[text()='Name']/following::td").InnerText
它高興地返回
ACME ANVILS, INC.
然而,有一個新的皺紋。有問題的網頁現在返回多個結果:
<table class="resultsTable">
<tbody>
<tr class="even">
<td width="35%"><strong>Name</strong></td>
<td>ACME ANVILS, INC.</td>
</tr>
</tbody>
</table>
<table class="resultsTable">
<tbody>
<tr class="even">
<td width="35%"><strong>Name</strong></td>
<td>ROAD RUNNER RACES, LLC</td>
</tr>
</tbody>
</table>
所以現在我有
var tables = document.DocumentNode.SelectNodes("//table/tbody");
foreach (var table in tables)
{
var name = table.SelectSingleNode("//*[text()='Name']/following::td").InnerText;
...
}
落在了工作,因爲SelectSingleNode
返回null。
如何讓我的XPath實際返回結果,僅在我選擇的特定表中搜索?