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 孙节点。
  • 相关阅读:
    利用Airtest开发爬虫
    添加mitmproxy证书为安卓系统证书(模拟器亦可)
    mac下 安卓模拟器抓包推荐
    mac上appium连接ios
    HomeBrew和HomeBrew Cask的安装和使用
    NOIP2020 游记
    CSP2020 游记
    随机数之 xorShift128Plus 板子
    最大单词长度乘积(力扣第318题)
    两个整数之和(力扣第371题)
  • 原文地址:https://www.cnblogs.com/yuanyanyan/p/6699154.html
Copyright © 2011-2022 走看看