如何编写Xpath表达式来区分结果?

时间:2014-01-29 08:45:42

标签: xpath

我是xpath表达的新手。需要帮助解决问题     请考虑以下文档:

<tbody><tr>
<td>By <strong>Bec</strong></td>
<td><strong>Great Support</strong></td>
</tr></tbody>

在此我必须分别在标签内找到文本。

以下是我的xpath表达式:

//tbody//td//strong/text();

按预期评估输出:

Bec
Great Support

如何编写xpath表达式来区分结果,例如BecGreat Support

3 个答案:

答案 0 :(得分:1)

您还不清楚自己要做什么,但以下内容应该成功地单独选择它们:

//tbody/tr/td[1]/strong

//tbody/tr/td[2]/strong

请注意,在这种情况下,最有可能不需要text()

答案 1 :(得分:0)

不确定这是您正在寻找的......无论如何,假设您要求根据其文本检索节点,您可以通过执行以下操作来查找文本内容:

//tbody//td//strong/text()[.="Bec"]

PS

[.=""]中,点是 text() self::node()的别名(感谢JLRishe指出错误)。

答案 2 :(得分:0)

不确定我理解100%,但如果你想获得第一个和第二个强标签的文字,你可以使用位置(基于1的索引)

//tbody/td[position()=1]/strong/text() //first text

//tbody/td[position()=2]/strong/text() //second text

此解决方案仅适用于当前样本,其中强标记位于第一个或第二个td标记内。