这是我第一次使用XPath查询。我知道它是如何工作的但我似乎无法从这张表中获得正确的信息。我把它归咎于设计不佳的桌子。
相关表的Xpath路径 - / table [1] / tbody [1] / tr [1]
该路径为我提供了以下信息。
<tr>
<td style="vertical-align:top">
<table style="white-space:nowrap">
<tbody>
<tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">Norman White</span></td></tr>
<tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">Is Married: </span>Yes</td></tr> <tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">DOB: </span>birthdate</td></tr><tr>
<td style="white-space:nowrap">
<div>
<span style="font-weight:bold">SSN: </span>XXX-XX-xxxx</div></td></tr</tbody>table></td>
<td style="width:20px">
<td style="vertical-align:top">
<table style="white-space:nowrap">
<tbody>
<tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">Lynnea White</span></td></tr>
<tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">Is Married: </span>Yes</td></tr>
<tr>
<td style="white-space:nowrap">
<span style="font-weight:bold">DOB: </span>birthdate</td></tr>
<tr>
<td style="white-space:nowrap">
<div>
<span style="font-weight:bold">SSN: </span>XXX-XX-xxxx</div></td></tr></tbody></table> </td>
<td style="width:20px"> </td></td></tr>
我试图只提取两个名字。
如果我使用table.SelectSingleNode("//table/tbody/tr/td//span").InnerText
,其中table是包含上面代码为InnerHTML
的HTMLNODE,那么我得到名字“Norman White”,但我似乎无法以任何方式得到第二个名字
答案 0 :(得分:1)
您是否考虑过使用SelectNodes
代替SelectSingleNode
? :)
(SelectNodes vs SelectSingleNode)
此外,您的Xpath可能更清晰,例如//table/tbody/tr[1]//span
。如果您未选择 first tr
,则会选择以下所有内容。