首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xpath:如何只选择最后一个文本节点?

xpath:如何只选择最后一个文本节点?
EN

Stack Overflow用户
提问于 2012-04-11 09:09:06
回答 1查看 8.6K关注 0票数 5

如何使用xpath选择全局最后一个文本节点?我尝试过这样做,但它为我提供了文档每个上下文中的最后一个节点。

代码语言:javascript
复制
lxml.html.fromstring('1<a>2<b>3</b>4<c>5</c>6</a>').xpath('//text()[last()]')
['1', '3', '5', '6']

我可以这样做,但它在时间和空间上效率都很低,特别是在文档变得很大的情况下。

代码语言:javascript
复制
lxml.html.fromstring('1<a>2<b>3</b>4<c>5</c>6</a>').xpath('//text()[last()]')[-1]
'6'

我尝试使用索引-1,但这给了我一个空列表。我尝试使用一些相反的轴(这样我就可以用1进行索引),但我无法让它们在全局上下文中工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 09:53:37

使用的

代码语言:javascript
复制
(//text())[last()]

这是一个常见问题解答。

解释:

XPath伪运算符//具有比[]运算符更低的优先级(优先级),后者更强地绑定到它之前的节点测试。

正如在Math和每种语言中一样,覆盖默认优先级的方法是使用括号。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10098593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档