Xpath进阶总结

指定元素的轴操作

1、child 选取当前节点的所有子元素

\qquad /child::AAA 等价于/AAA

2、parent 选取当前节点的父节点

\qquad //DDD/parent::* 获取所有节点DDD的父节点

3、descendant 选取当前节点的所有后代元素(子、孙等)

\qquad /descendant::* 选择文档根元素的所有后代,即所有的元素被选择

4、ancestor 选取当前节点的所有先辈(父、祖父等)

\qquad //FFF/ancestor::* 选择FFF元素的所有祖先节点

5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身

\qquad /AAA/BBB/descendant-or-self::* 选择/AAA/BBB本身及所有后代元素

6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身

\qquad //FFF/ancestor-or-self::* 选择FFF元素的所有先辈以及FFF本身

7、preceding-sibling 选取当前节点之前的所有同级节点

\qquad /AAA/XXX/preceding-sibling::* /AAA/XXX节点的所有之前同级节点

8、following-sibling 选取当前节点之后的所有同级节点

\qquad /AAA/BBB/following-sibling::* 取/AAA/BBB节点的之后的所有同级节点

9、preceding 选取文档中当前节点的开始标签之前的所有节点

\qquad /AAA/XXX/preceding::* 选取/AAA/XXX节点所有之前节点(除其祖先外)

10、following 选取文档中当前节点的结束标签之后的所有节点

\qquad /AAA/BBB/following::* 选取/AAA/BBB节点后的所有节点

11、self 选取当前节点

\qquad //CCC/self::* self选取当前节点,单独使用没有什么意思

12、attribute 选取当前节点的所有属性

\qquad /AAA/BBB/attribute::* 选取/AAA/BBB节点的所有属性

13、namespace 选取当前节点的所有命名空间节点

\qquad

<xmml:Book xmlns:xmml="http://www.XMML.com/namespaces">
<xmml:Chapter number="1">Some text.</xmml:Chapter>
<xmml:Chapter number="2">Some more text.</xmml:Chapter>
</xmml:Book>

<!-- xmml:Book -->
14、同时指定元素属性和元素序号

\qquad 知道指定class的写法是://*[@class=‘class’]

\qquad 也已经知道选择第某个的写法是://div[n]

\qquad 那么这两者结合的写法应该是怎样的呢?比如选择class='class’的最后一个元素。

"""
请注意一定要使用括号(),因为 [] 的优先级较高。
"""
(//*[@class='class)[n]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值