zoukankan      html  css  js  c++  java
  • xpath

    很久之前就接触xpath了,操作xml文件很好用。但是久而久之不用,记忆就渐渐模糊了。今儿又重新复习一下

    胡诌了一个人的xml文件包含头部 、身体什么鬼的

    <?xml version="1.0" encoding="utf-8" ?>
    
    <RenXinXi>
      <Ren>
        <Tou>
          <YanJing id="1" name="张三">棕色眼睛</YanJing>
          <ErDuo>招风大耳朵</ErDuo>
        </Tou>
        <ShenTi>
          <Fu>八块腹肌</Fu>
        </ShenTi>
      </Ren>
      <Ren>
        <Tou>
          <YanJing id="2" name="李四">红色眼睛</YanJing>
          <ErDuo>尖尖耳朵</ErDuo>
        </Tou>
        <ShenTi>
          <Fu>一块腹肌</Fu>
        </ShenTi>
      </Ren>
    
    </RenXinXi>


    1、首先查询了一下xpath的语法

    a.路径表达式

       
       
       
       
       
       
       
       
       
       
       
       

     nodeName :选取此节点的所有子节点

    /:从根节点选起

    //:选取匹配节点的所有子节点 ,而不考虑他们的位置 

     .:选取当前节点

    ..:选取当前节点的父节点

    @:选取属性

    b.包含谓语的表达式

    /RenXinXi/Ren[1]  选取RenXin的子节点下第一个Ren元素

    /RenXinXi/Ren[last()] 选最后一个Ren元素

    /RenXin/Ren[last()-1] 倒数第二个

    /RenXin/Ren[position()<3] 最前面二个元素

    //YanJing[@id] 选取属性为id的所有YangJing元素

    //YanJing[@id='1']  选取出id=1的所有YanJing元素

    /RenXinXi/Ren/ShenTi[ShouChang>15]  选取所有ShouChang大于15的ShenTi元素

    c.通配符的使用

    *:配合任何元素节点  //* 选取文档中所有元素

     @*:配合任何节点属性  //Ren[@*]

    d.多路径选择

    /RenXinXi/Ren/Tou/YanJing | ErDuo 选取所有YanJing和ErDuo

    e.轴的使用

    语法  轴名称::节点测试[谓语]
    child::book 选取所有属于当前节点的子元素的 book 节点。
    attribute::lang 选取当前节点的 lang 属性。
    child::* 选取当前节点的所有子元素。
    attribute::* 选取当前节点的所有属性。
    child::text() 选取当前节点的所有文本子节点。
    child::node() 选取当前节点的所有子节点。
    descendant::book 选取当前节点的所有 book 后代。
    ancestor::book 选择当前节点的所有 book 先辈。
    ancestor-or-self::book 选取当前节点的所有 book 先辈以及当前节点(如果此节点是 book 节点)
    child::*/child::price 选取当前节点的所有 price 孙节点。
  • 相关阅读:
    SQLSERVER查询所有数据库名,表名,和字段名
    SQL通过拆分某字段中的内容来实现与对应表连接查询
    [SPOJ]CIRU 圆并
    有关反演和GCD
    docker部署 jenkins
    mongoDB学习记录(二)
    docker动态修改容器限制
    ORACLE数据库误操作DELETE并且提交数据库之后如何恢复被删除的数据
    用8个命令调试Kubernetes集群
    db2服务器linux的cache过高原因
  • 原文地址:https://www.cnblogs.com/yuanyanyan/p/6699154.html
Copyright © 2011-2022 走看看