这个问题可能有点具体,但我正在编写的测试程序使用XPath来查找HTML中我需要的数据。这段HTML(在这里找到)就是我试图解析的内容。
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="textSm" align="right">1. </td> <!-- Location of the number is here -->
<td align="left" nowrap>
<a href="/stats/individual_stats_player.jsp?c_id=sf&playerID=467055" class="textSm">P Sandoval</a> <!-- Player location is here of the number is here -->
</td>
</tr>
</table>
我的目标是通过使用与他相对应的号码找到他的人名。这需要我按“td class="textSm" align="right">1. </td>
”中包含的特定文本查找节点,然后找到该节点“<td align="left" nowrap>
”的兄弟,然后找到该兄弟“<a href="/stats/individual_stats_player.jsp?c_id=sf&playerID=467055" class="textSm">P Sandoval</a>
”的子节点得到想要的结果。我想知道我可以用什么样的查询来找到它。非常感谢任何帮助。
答案 0 :(得分:1)
使用强>:
table/tr/td[starts-with(., '1.')]/following-sibling::td/a
这假定上面评估XPath表达式的上下文(当前节点)是table
的父级。
答案 1 :(得分:0)
//tr[td = "1"]/td[2]/a
对于TD等于'1'的所有TR,从第二个子TD给出A元素。