前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-XPath

Python-XPath

原创
作者头像
ruochen
修改2021-05-11 14:38:52
6510
修改2021-05-11 14:38:52
举报

XPath

  • 在XML文件中查找信息的一套规则/语言,根据XML元素或者属性进行遍历
  • http://www.w3school.com.cn/xpath/index.aspXPath 开发工具
  • 开源的XPath表达式编辑工具: XMLQuire
  • Chrome插件: XPath Helper
  • Firefox插件: XPath Checker

选取节点

  • nodename: 选取此节点的所有子节点
  • /: 从根节点开始选取
代码语言:txt
复制
    /Student: 没有记过
代码语言:txt
复制
    /School: 选取School节点
  • //: 选取节点,不考虑位置
代码语言:txt
复制
    //Age: 选取出三个节点,一般组成列表返回
  • .: 选取当前节点
  • ..: 选取当前节点的父亲节点
  • @: 选取属性
  • XPath中查找一般按照路径方法查找,以下是路径表示方法
代码语言:txt
复制
    School/Teacher: 返回Teacher节点
代码语言:txt
复制
    School/Student: 返回两个Student节点
代码语言:txt
复制
    //Student: 选取所有Student的节点,不考虑位置
代码语言:txt
复制
    School//Age: 选取School后代中所有Age节点
代码语言:txt
复制
    //@Other: 选取Other属性
代码语言:txt
复制
    //Age[@Detail]: 选取带有属性Detail额Age元素
  • 谓语-Predicates
  • /School/Student1: 选取School下面的第一个Student节点
  • /School/Studentlast(): 选取School下面的最后一个Student节点
  • /School/Studentlast()-1: 选取School下面的倒数第二个Student节点
  • /School/Studentposition() < 3: 选取School下面的前两个Student节点
  • //Student@score: 选取带有属性score的Student节点
  • //Student@score="99": 选取带有属性score并且属性值是99的Student节点
  • //Student@score/Age: 选取带有属性score的Student节点的子节点Age

XPath的一些操作

  • |: 或者
代码语言:txt
复制
    //Student[@score] | //Teacher: 选取带有属性score的Student节点和Teacher节点
  • 其余不常见XPath运算符号包括+, -, *, div, >, <

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XPath
  • 选取节点
  • XPath的一些操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档