xpath基础用法

本文详细介绍了XPath,一种在XML文档中定位和选择节点的查询语言,涵盖基本用法如路径表达式、谓语、通配符等,以及高级功能如函数和逻辑运算。通过实例演示了如何编写XPath查询来提取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XPath(XML Path Language)是一种用于在XML文档中定位和选择节点的查询语言。以下是XPath的一些常见用法和示例:

1.选择节点:


1.1.选取所有节点:*

/*

1.2选取特定节点:nodeName
 

//book

2.路径表达式:


2.1通过路径选择节点:/ 表示从根节点开始,// 表示在整个文档中查找。
 

/bookstore/book/title
//book/title

3.谓语:


3.1通过条件筛选节点:
 

//book[@category='fiction']

4.通配符和多路径:


4.1使用 * 通配符匹配任意元素,| 表示多个路径。

//book/*
//book/title | //book/price

5.位置:


5.1选择节点的特定位置:

//book[1]    # 第一个 <book> 节点
//book[last()]   # 最后一个 <book> 节点
//book[position() < 3]   # 前两个 <book> 节点

6.文本内容和属性:


6.1获取节点文本内容:
 

//book/title/text()

6.2获取属性值:
 

//book/@category

7.使用通配符:


7.1通配符用于匹配任意元素或属性:
 

//*   # 所有元素
//@*  # 所有属性

8.函数:


8.1使用内建函数,如 contains():
 

//book[contains(title, 'XML')]

9.逻辑运算:


9.1结合多个条件使用 and 和 or:
 

//book[@category='fiction' and price<10]


这些是XPath的基本用法。XPath还支持更高级的功能,例如数值比较、节点集合操作和函数的使用。具体的用法取决于你的XML文档的结构和你想要查询的数据。以下是一个示例XML文档和对应的XPath查询:
XML文档示例:
 

<bookstore>
  <book category="fiction">
    <title>Harry Potter</title>
    <price>10.99</price>
  </book>
  <book category="non-fiction">
    <title>Introduction to XPath</title>
    <price>19.99</price>
  </book>
</bookstore>

XPath示例查询:

1.选取所有书籍的标题:

//book/title


2.选取价格低于20的书籍:

//book[price < 20]


3.选取分类为小说的书籍标题:

//book[@category='fiction']/title
### 关于头歌平台中的 XPath 基础教程 #### 头歌平台概述 头歌(Tougo)是一个专注于编程教育和技术实践的学习平台,涵盖了多种技术领域的内容,其中包括 Web 开发、数据抓取等相关主题。对于学习 XPath基础教程,在头歌平台上可以找到许多针对初学者设计的教学资源。 #### XPath 基础知识 XPath 是一种用于在 XML 和 HTML 文档中导航和定位节点的语言[^2]。它的主要功能是从文档结构中选取特定的节点集合或单个节点。以下是 XPath 的几个核心概念: 1. **路径表达式**: 通过类似于文件系统的路径表示方法来指定节点位置。 ```xpath /html/body/div/h1 ``` 2. **谓语 (Predicates)**: 使用方括号 `[]` 来进一步过滤匹配的结果集。 ```xpath //div[@class='example'] ``` 3. **轴 (Axes)**: 表示当前节点与其他节点的关系方向。 - 子轴 (`child::`):选择子节点。 - 后代轴 (`descendant::`):选择后代节点。 - 属性轴 (`attribute::`):访问属性节点。 4. **逻辑运算符**: 可以组合多个条件来进行更复杂的筛选[^4]。 ```xpath //a[contains(@href, 'google') and text()='Search'] ``` #### 在头歌平台上的 XPath 实践案例 假设我们正在分析一段简单的 HTML 页面代码如下: ```html <html> <body> <div class="container"> <h1>Welcome to the HeadGo Platform</h1> <p>This is a paragraph.</p> <a href="https://headgo.com">Visit HeadGo Website</a> <ul> <li>Item 1</li> <li>Item 2</li> </ul> </div> </body> </html> ``` ##### 示例 1: 提取页面标题 如果要获取 `<h1>` 标签内的文本内容,则可编写以下 XPath 查询: ```xpath //h1/text() ``` 这会返回字符串 `"Welcome to the HeadGo Platform"`[^1]。 ##### 示例 2: 获取链接地址 为了提取超链接的目标 URL 地址,可以用下面的 XPath 表达式实现: ```xpath //a/@href ``` 此命令将返回 `"https://headgo.com"`[^2]。 ##### 示例 3: 结合逻辑判断筛选元素 当需要查找既包含某些关键字又满足其他特性的标签时,可以利用逻辑运算符完成任务。例如寻找所有带有 `'item'` 字样的列表项并排除第一个项目外的所有条目: ```xpath //ul/li[position() > 1 and contains(text(), 'item')] ``` 以上就是在头歌平台学习 XPath 所涉及的一些基本知识点以及实际应用场景的例子说明。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值