XPath文本搜索/兄弟选择

时间:2010-07-01 06:22:46

标签: objective-c xpath hpple

这个问题可能有点具体,但我正在编写的测试程序使用XPath来查找HTML中我需要的数据。这段HTML(在这里找到)就是我试图解析的内容。

<table border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td class="textSm" align="right">1.&nbsp;</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>”的子节点得到想要的结果。我想知道我可以用什么样的查询来找到它。非常感谢任何帮助。

2 个答案:

答案 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元素。