关闭

XPath 位置路径

标签: 文档
2055人阅读 评论(0) 收藏 举报

位置路径

 位置路径标识了和上下文有关的一组XPath节点,是XPath表达式的特化,使用'/'表示层级关系。
 
 位置路径有相对路径和绝对路径。
 
   相对路径:
     "nodename/childnodename"
      该路径在当前节点下查找到符合nodename的节点,再寻找nodename的子节点childnodename。
      路径的开始位置是 当前节点 。
  
   绝对路径
     "/nodename/childnodename"
      在路径字串前加了一个'/',表示字串从根开始表示,也就是nodename必须是表示根节点,才能找到childnodename。
    
  其它路径符号
 
    // 搜索所有位置节点。
      "//nodename"
       文档树中的所有名为nodename的节点。
      "//nodename/childnodename"
       文档树中的所有父元素名为nodename的childnodename节点。

   . 引用节点自身。
     "./nodename/childnodename"
      是"nodename/childnodename"的完整写法,作用一致。
     ".//nodename"
      当前节点下的所有nodename节点。

   .. 引用节点自身的父节点。
     "../nodename"
      nodename的父节点。
     "../nodename/othernodename"
      nodename的父节点的子节点othernodename,选择到的是nodename的兄弟节点。
     
   * 通配符号。
    "nodename/*"
     表示nodename的任意名称的子节点。
  
   [] 谓词符号,用于筛选元素。比如,list/item[2] 代表第二个 item 元素。实际上 [] 是一个谓词(参见 谓词)。
    "nodename[1]"
     表示nodename的第一个子节点。
    "nodename[@ss=/"1/"]"
     表示有属性ss值等于"1"的nodename节点。
     谓词中还可以使用其它的boolean表达式。
   
   @ 属性符号,后跟属性名。@* 也可以使用通配符表示所有属性。
    "nodename/childnodename[@ss]"
     筛选nodename/childnodename,找出拥有属性ss的。
    
   | 分隔符号,分隔多个路径
    "nodename/childnodename | nodename/otherchildnodename"
     节点nodename的childnodename和otherchildnodename节点。 

 
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:163866次
    • 积分:1986
    • 等级:
    • 排名:第19601名
    • 原创:36篇
    • 转载:9篇
    • 译文:0篇
    • 评论:35条
    文章分类
    最新评论