好的,让我为您生成一本Markdown格式的学习文档学习笔记,主题是XPath语法学习笔记,并附带实例。

XPath语法学习笔记

一、简介

XPath是一种用于在XML文档中进行导航和查询的语言。它为XML文档提供了一种基于树结构的查询方法,并且可以通过路径表达式来定位XML文档中的节点。XPath的路径表达式类似于文件系统路径,可以使用绝对路径或相对路径来引用XML文档中的元素或属性。

二、语法规则

XPath的语法规则包括路径表示法、谓词、运算符等,其中最常用的是路径表示法。

1. 路径表示法

XPath的路径表达式由若干路径段连接而成,路径段之间使用斜杠(/)分隔。例如:

Copy Code
/Bookstore/Book/Title

上述路径表示法可以解释为从根节点开始,依次遍历所有的BookstoreBookTitle节点。

2. 谓词

XPath的谓词(predicate)用于在路径表达式中过滤节点。谓词可以使用方括号([])表示,其中包含一个布尔表达式。例如:

Copy Code
/Bookstore/Book[Price>35.00]

上述谓词表示法可以解释为选取所有位于Bookstore下的Book节点中,Price属性大于35.00的那些节点。

3. 运算符

在XPath中,常用的运算符包括算术运算符、比较运算符和逻辑运算符。例如:

  • 算术运算符:+-*divmod
  • 比较运算符:=!=<><=>=
  • 逻辑运算符:andornot

三、实例

下面是一个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语法学习笔记及实例,希望对您有所帮助。