怎么使用XPath查询XML节点_XPath查询XML节点语法与实例解析

畫卷琴夢
发布: 2025-10-27 22:37:01
原创
188人浏览过
XPath通过路径表达式定位XML节点,核心语法包括/(根节点)、//(任意位置)、@(属性)、*(通配符)及.和..(当前与父节点),结合[ ]条件筛选如索引、属性值、子元素内容等,配合函数实现高效查询。

怎么使用xpath查询xml节点_xpath查询xml节点语法与实例解析

使用XPath查询XML节点,核心在于掌握路径表达式和节点匹配规则。XPath(XML Path Language)是一种在XML文档中查找信息的语言,它通过路径表达式定位节点元素、属性、文本等内容。下面介绍常用语法并结合实例说明如何高效查询XML节点。

基本XPath语法结构

XPath将XML文档视为节点树,支持按层级路径访问节点。常见语法包括:

  • /:从根节点开始选择。例如 /bookstore/book 表示选取根下bookstore中的所有book子节点。
  • //:从任意位置匹配节点。如 //title 会选取文档中所有title元素,无论嵌套多深。
  • @:用于选取属性。例如 //book/@category 获取所有book元素的category属性值。
  • *:通配符,代表任意元素节点。如 /bookstore/* 选取bookstore下的所有子元素。
  • ...:分别表示当前节点和父节点。常用于相对路径中。

按条件筛选节点

使用方括号 [] 添加过滤条件,可精准定位目标节点。

  • 按索引选取://book[1] 选取第一个book节点(注意XPath索引从1开始)。
  • 按属性值匹配://book[@category='fiction'] 匹配category为fiction的book。
  • 按子元素内容筛选://book[price>30] 选取价格大于30的book节点。
  • 多条件组合://book[@category='fiction' and price 同时满足两个条件。

常用函数辅助查询

XPath内置函数能增强查询灵活性。

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 193
查看详情 Find JSON Path Online
  • text():获取节点文本内容。如 //title/text() 返回title内的文字。
  • contains():模糊匹配字符串。例如 //title[contains(text(),'Python')] 查找标题包含“Python”的节点。
  • starts-with():判断是否以指定字符串开头。//author[starts-with(text(),'John')] 匹配作者名以John开头的节点。
  • count():统计节点数量,可用于条件判断或验证结果集大小。

实际应用示例

假设有一段XML如下:

<bookstore>
  <book category="fiction">
    <title>The Great Gatsby</title>
    <author>F. Scott Fitzgerald</author>
    <price>15.50</price>
  </book>
  <book category="science">
    <title>A Brief History of Time</title>
    <author>Stephen Hawking</author>
    <price>35.00</price>
  </book>
</bookstore>
登录后复制

对应查询示例:

  • 获取所有书名://title/text()
  • 查找科学类书籍://book[@category='science']
  • 获取价格高于30的书的作者://book[price>30]/author/text()
  • 查找作者姓氏含“Hawking”的书名://book[contains(author, 'Hawking')]/title/text()

基本上就这些。掌握基础路径、条件筛选和常用函数后,就能灵活应对大多数XML数据提取需求。实际使用时结合工具浏览器控制台、Python的lxml库或XPath测试器,可以快速验证表达式效果。不复杂但容易忽略细节,比如索引从1开始、属性需加@符号等。

以上就是怎么使用XPath查询XML节点_XPath查询XML节点语法与实例解析的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号