备忘(三)XPath语法

说明:部分内容来自于互联网,如果侵犯了您的权益,我感到很抱歉,请联系我我会第一时间将其删除。谢谢。

 关于Xpath语法:Xpath语法是用于在Xml中查询节点的表达式类似于Select语句。语法如下:

<?xml version="1.0" encoding="utf-8" ?>

<bookstore>

  <book>

    <title lang="en">Harry Petter</title>

    <price>35.98</price>

  </book>

  <book>

    <title lang="en">Learning Xml</title>

    <price>98.9</price>

  </book>

</bookstore>

1Xpath中的通配符

通配符

说明

/

从根节点选取用于绝对路径

//

匹配任何位置的当前节点

.

表示当前节点

@

表示属性

 

 

 

 

 

实例说明:

举例

说明

/bookstore/book/price

表示根节点bookstore下的book节点下的price节点

//book

表示任意位置的book节点

/bookstore/book//price

表示在/bookstore/book下的任意位置的price节点

//@lang

表示所有名为lang的属性

2、谓语

谓语是用来查找某个特定的节点或包含某个指定值的节点通常放置【】中。

实例说明:

举例

说明

/bookstore/book[1]

表示根节点bookstore下的第一个book节点

/bookstore/book[last()]

表示根节点bookstore下的最后一个book节点

/bookstore/book[last()-1]

表示根节点bookstore下的倒数第二个book节点

/bookstore/book[positon()=2]

表示根节点bookstore下的第二个book节点

/bookstore/book[positon()<3]

表示根节点bookstore下的前两个book节点

//title[.=’harry petter’]

表示获取title节点文本等于harry petter的节点

//title[@lang=’eng’]

表示属性lang等于engtitle节点

/boostore/book[price>35.00]

获取price值大于35.00book节点

/boostore/book[price>35.00]/title

获取price值大于35.00book节点下的tittle节点

3、选取未知节点

通配符

说明

*

任何元素节点

@*

任何属性节点

Node()

任何类型节点

举例说明:

举例

说明

/bookstore/*

表示根节点bookstore下的所有节点

//title[@*]

表示含有属性的所有title节点

4、选取多个路径

利用“|”实现选取多个路径

举例

说明

//book/title|//book/price

选取所有title节点和price节点

/bookstore/book/title|//price

选取bookstroebook下的title节点和所有price节点

5、常用函数

Ø         AndOR运算符

例://book[title=’learning xml’ and price=’39.99’]

查找满足条件的book节点

Ø         Position()查找指定位置的节点

例://book[position()=2]

 查找任意位置的第二个book节点

Ø         Contains(code,string)获取节点包含指定字符串的节点

例://book[contains(title,’xml’)]

 查找title值包含xmlbook节点

Ø         Starts-with(node,string) 获取节点的值以字符串开头

例://book[starts-with(title,’le’)]

 查找title值以le开头的book节点

Ø         Substring(string,position,length) 获取截取字符串后满足条件的节点

例://book[substring(title,1,2)=’ar’]

 查找title值从1位置开始截取2位后为arbook节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值