好的,让我为您生成一本Markdown格式的学习文档学习笔记,主题是XPath语法学习笔记,并附带实例。
XPath语法学习笔记
一、简介
XPath是一种用于在XML文档中进行导航和查询的语言。它为XML文档提供了一种基于树结构的查询方法,并且可以通过路径表达式来定位XML文档中的节点。XPath的路径表达式类似于文件系统路径,可以使用绝对路径或相对路径来引用XML文档中的元素或属性。
二、语法规则
XPath的语法规则包括路径表示法、谓词、运算符等,其中最常用的是路径表示法。
1. 路径表示法
XPath的路径表达式由若干路径段连接而成,路径段之间使用斜杠(/)分隔。例如:
Copy Code/Bookstore/Book/Title
上述路径表示法可以解释为从根节点开始,依次遍历所有的Bookstore
、Book
和Title
节点。
2. 谓词
XPath的谓词(predicate)用于在路径表达式中过滤节点。谓词可以使用方括号([])表示,其中包含一个布尔表达式。例如:
Copy Code/Bookstore/Book[Price>35.00]
上述谓词表示法可以解释为选取所有位于Bookstore
下的Book
节点中,Price
属性大于35.00的那些节点。
3. 运算符
在XPath中,常用的运算符包括算术运算符、比较运算符和逻辑运算符。例如:
- 算术运算符:
+
、-
、*
、div
、mod
- 比较运算符:
=
、!=
、<
、>
、<=
、>=
- 逻辑运算符:
and
、or
、not
三、实例
下面是一个XML文档的示例,我们将使用XPath语法来对其进行查询和筛选。
xmlCopy Code<?xml version="1.0" encoding="UTF-8"?>
<Bookstore>
<Book category="cooking">
<Title lang="en">Everyday Italian</Title>
<Author>Giada De Laurentiis</Author>
<Year>2005</Year>
<Price>30.00</Price>
</Book>
<Book category="children">
<Title lang="en">Harry Potter</Title>
<Author>J.K. Rowling</Author>
<Year>2005</Year>
<Price>29.99</Price>
</Book>
<Book category="web">
<Title lang="en">Learning XML</Title>
<Author>Erik T. Ray</Author>
<Year>2003</Year>
<Price>31.95</Price>
</Book>
</Bookstore>
1. 使用路径表达式选取节点
我们可以使用路径表达式来选取XML文档中的节点,例如:
xmlCopy Code/Bookstore //选取根节点 /Bookstore/Book //选取所有位于 Bookstore 下的 Book 节点 /Bookstore/Book/Title//选取所有位于 Bookstore/Book 下的 Title 节点
2. 使用谓词过滤节点
我们可以使用谓词来过滤节点,例如:
xmlCopy Code/Bookstore/Book[Price>35.00] //选取所有位于 Bookstore 下的 Price 属性大于 35.00 的 Book 节点 /Bookstore/Book[Price>35.00]/Title//选取所有位于 Bookstore 下的 Price 属性大于 35.00 的 Book 节点中的 Title 节点
3. 使用运算符进行筛选
我们可以使用运算符对节点进行筛选,例如:
xmlCopy Code/Bookstore/Book[Price>35.00 and Year<2005] //选取所有位于 Bookstore 下的 Price 属性大于 35.00 并且 Year 属性小于 2005 的 Book 节点
以上就是XPath语法学习笔记及实例,希望对您有所帮助。