我是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表达式来区分结果,例如Bec
和Great Support
答案 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标记内。