使用XPath获取第二个元素文本?

使用XPath获取第二个元素文本?,第1张

使用XPath获取第二个元素文本?

我试过了,但是没有用。

t = item.findtext('.//span[@]//a[2]')

这是有关

//
缩写的常见问题解答

.//a[2]
意思是:选择
a
当前节点的所有后代
a
,它们是其父代的第二个子代。因此,根据具体的XML文档,它可以选择多个元素或不选择任何元素。

简而言之,

[]
运算符的优先级高于
//

如果只想返回所有节点中的一个(第二个),则必须使用方括号来强制所需的优先级:

(.//a)[2]

这实际上选择

a
了当前节点的第二个后代。

对于问题中使用的实际表达式,将其更改为

(.//span[@]//a)[2]

或将其更改为:

(.//span[@]//a)[2]/text()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5565985.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存