当前位置: 首页 > news >正文

XPath基础语法(1)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

Xpath是一种能够在XML文档中寻找信息的语言。它通过XML文档中的元素和属性来进行导航。

1. "/"

/AAA:
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/> 
          <DDD>
          <CCC/> 
     <AAA>


/AAA/CCC:
<AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/> 
          <DDD>
          <CCC/> 
     <AAA>

 /AAA/DDD/BBB:

 <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/> 
          <DDD>
          <CCC/> 
     <AAA>

2. "//"

 //BBB

 <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          <DDD>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
               <DDD>
          <CCC>
     <AAA>

 //DDD/BBB

    <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          DDD>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
               <DDD>
          <CCC>
     <AAA>

3. "*":

 /AAA/CCC/DDD*/*/BBB

      <AAA>
          <XXX>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/> 
               <DDD> 
          <XXX>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/> 
               <DDD> 
          <CCC>
          <CCC>
               <BBB>
                    <BBB>
                         <BBB/> 
                    <BBB> 
               <BBB> 
          <CCC> 
     <AAA>

//*

     <AAA>
          <XXX>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               DDD>
          XXX>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               DDD>
          CCC> 
     AAA>

4. [1] , last()

/AAA/BBB[1]

     <AAA>
          <BBB/>
          <BBB/>
          <BBB/>
          <BBB/>
     AAA>

/AAA/BBB[last()]

     <AAA>
          <BBB/>
          <BBB/>
          <BBB/>
          <BBB/>
     AAA>

5. "@" :

//@id

     <AAA>
          <BBB id = "b1"/>
          <BBB id = "b2"/>
          <BBB name = "bbb"/>
          <BBB/>
     AAA>

//BBB[@id]

     <AAA>
          <BBB id = "b1"/>
          <BBB id = "b2"/>
          <BBB name = "bbb"/>
          <BBB/>
     AAA>

//BBB[@name]

     <AAA>
          <BBB id = "b1"/>
          <BBB id = "b2"/>
          <BBB name = "bbb"/>
          <BBB/>
     AAA>

//BBB[@*]

     <AAA>
          <BBB id = "b1"/>
          <BBB id = "b2"/>
          <BBB name = "bbb"/>
          <BBB/>
     AAA>

//BBB[not(@*)]

     <AAA>
          <BBB id = "b1"/>
          <BBB id = "b2"/>
          <BBB name = "bbb"/>
          <BBB/>
     AAA>

//BBB[@id='b1']

     <AAA>
          <BBB id = "b1"/>
          <BBB name = " bbb "/>
          <BBB name = "bbb"/>
     AAA>

//BBB[@name='bbb']

     <AAA>
          <BBB id = "b1"/>
          <BBB name = " bbb "/>
          <BBB name = "bbb"/>
     AAA>

//BBB[normalize-space(@name)='bbb']

     <AAA>
          <BBB id = "b1"/>
          <BBB name = "     bbb "/>
          <BBB name = "bbb"/>
     AAA>

6. count() :

//*[count(BBB)=2]

     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          CCC>
          <DDD>
               <BBB/>
               <BBB/>
          DDD>
          <EEE>
               <CCC/>
               <DDD/>
          EEE>
     AAA>

//*[count(*)=2]

     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          CCC>
          <DDD>
               <BBB/>
               <BBB/>
          DDD>
          <EEE>
               <CCC/>
               <DDD/>
          EEE>
     AAA>

//*[count(*)=3]

     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          CCC>
          <DDD>
               <BBB/>
               <BBB/>
          DDD>
          <EEE>
               <CCC/>
               <DDD/>
          EEE>
     AAA>

#html/xhtml/xml专栏

相关文章:

  • P1273 有线电视网
  • DotText源码阅读(2)-工程、数据库表结构
  • 23 Java学习之RandomAccessFile
  • 在本地机上还复在另一台机器上备份的数据库
  • CF535E Tavas and Pashmaks 单调栈、凸包
  • Java开发知识之Java中的泛型
  • {防}5--WMI入侵的防范
  • 开撕队-软件需求规格说明书
  • 根据企业信息化应用需求来分析工作流平台的选型
  • 约束
  • 办公室女性的心得感悟:生活中最重要的五句话
  • Sabota?
  • 受损Wave文件修复
  • c/c++ llinux epoll系列4 利用epoll_wait实现非阻塞的connect
  • 清蒸鲈鱼
  • [case10]使用RSQL实现端到端的动态查询
  • 《Java编程思想》读书笔记-对象导论
  • 【翻译】babel对TC39装饰器草案的实现
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • C++11: atomic 头文件
  • css系列之关于字体的事
  • Java 内存分配及垃圾回收机制初探
  • Linux中的硬链接与软链接
  • mongo索引构建
  • 计算机常识 - 收藏集 - 掘金
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前嗅ForeSpider中数据浏览界面介绍
  • 入口文件开始,分析Vue源码实现
  • 使用common-codec进行md5加密
  • 使用Gradle第一次构建Java程序
  • 无服务器化是企业 IT 架构的未来吗?
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • (1)bark-ml
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (ZT)一个美国文科博士的YardLife
  • (区间dp) (经典例题) 石子合并
  • (一)SpringBoot3---尚硅谷总结
  • (转)Sublime Text3配置Lua运行环境
  • .NET 药厂业务系统 CPU爆高分析
  • .net的socket示例
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @PreAuthorize注解
  • [Android学习笔记]ScrollView的使用
  • [autojs]autojs开关按钮的简单使用
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [CLickhouse] 学习小计