news 2026/9/12 1:40:20

XPath 简介:在 XML 和 HTML 中的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XPath 简介:在 XML 和 HTML 中的应用

webjser: 写一篇文章,将xpath xml和html的xpath

GitHub Copilot: ### XPath 简介:在 XML 和 HTML 中的应用

XPath(XML Path Language)是一种用于在 XML 和 HTML 文档中查找信息的语言。它通过路径表达式来选择文档中的节点或节点集,广泛应用于数据提取、爬虫开发、自动化测试等场景。XPath 的语法简单且功能强大,支持多种类型的表达式,包括绝对路径、相对路径、属性选择、条件过滤等。


XPath 的基本概念

XPath 的核心是路径表达式,它类似于文件系统中的路径,用于定位 XML 或 HTML 文档中的节点。以下是一些常见的 XPath 表达式:

1.基本选择
  • /bookstore:选择根元素<bookstore>
  • //book:选择文档中所有的<book>元素。
  • /bookstore/book:选择<bookstore>元素下的所有<book>子元素。
  • //book/title:选择所有<book>元素中的<title>子元素。
2.属性选择
  • //book[@category]:选择所有具有category属性的<book>元素。
  • //book[@category='web']:选择category属性值为web<book>元素。
  • //@lang:选择文档中所有的lang属性。
  • //title[@lang='en']:选择lang属性值为en<title>元素。
3.位置选择
  • //book[1]:选择文档中第一个<book>元素。
  • //book[last()]:选择文档中最后一个<book>元素。
  • //book[position()<3]:选择文档中前两个<book>元素。
  • //book[price>35]:选择price元素值大于 35 的<book>元素。
4.通配符
  • //*:选择文档中的所有元素。
  • //@*:选择文档中的所有属性。
  • //title[@*]:选择所有具有任意属性的<title>元素。
  • //book/*:选择<book>元素下的所有子元素。

XPath 在 XML 中的应用

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。以下是一个示例 XML 文档:

<bookstore><bookcategory="cooking"><titlelang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><bookcategory="children"><titlelang="en">Harry Potter</title><author>J K. Rowling</author><year>2005</year><price>29.99</price></book></bookstore>
示例 XPath 查询:
  1. //book/title:选择所有<book>元素的<title>子元素。

    • 结果:Everyday ItalianHarry Potter
  2. //book[@category='cooking']:选择category属性值为cooking<book>元素。

    • 结果:<book category="cooking">...</book>
  3. //book[price>29.99]:选择price元素值大于 29.99 的<book>元素。

    • 结果:<book category="cooking">...</book>

XPath 在 HTML 中的应用

HTML 是一种用于构建网页的标记语言。XPath 同样可以用于解析 HTML 文档,特别是在 Web 爬虫和自动化测试中。

示例 HTML 文档:
<html><body><divclass="content"><h1>标题</h1><p>这是段落内容。</p><ahref="https://www.jser.com">jser工具</a></div></body></html>
示例 XPath 查询:
  1. //h1:选择文档中的<h1>元素。

    • 结果:<h1>标题</h1>
  2. //a[@href]:选择所有具有href属性的<a>元素。

    • 结果:<a href="https://www.jser.com">jser工具</a>
  3. //div[@class='content']/p:选择class属性值为content<div>元素下的<p>子元素。

    • 结果:<p>这是段落内容。</p>

xpath测试

XPath 的优势

  1. 灵活性:支持多种路径表达式,能够精确定位节点。
  2. 强大的条件过滤:通过谓词([])可以实现复杂的条件查询。
  3. 跨平台:适用于 XML 和 HTML,广泛应用于数据提取、自动化测试等领域。

总结

XPath 是一门功能强大的语言,能够高效地在 XML 和 HTML 文档中定位节点。无论是开发 Web 爬虫、测试工具,还是处理复杂的 XML 数据,XPath 都是不可或缺的工具。通过熟练掌握 XPath 的语法和表达式,开发者可以大幅提升工作效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 19:43:18

商业级图像合成引擎6.0版本重磅发布:解锁跨场景视觉创作新范式

在数字内容创作领域&#xff0c;图像合成技术正经历从基础拼接向专业级融合的跨越式发展。近日&#xff0c;备受行业关注的商业级图像合成引擎正式推出6.0版本&#xff0c;凭借七大核心功能与全场景覆盖能力&#xff0c;重新定义了视觉内容生产的效率与质量标准。该版本作为基础…

作者头像 李华
网站建设 2026/9/9 3:26:34

MyBatis-Plus与Spring整合(02--Service的代理)

文章目录 1、代码版本 2、代理实现过程 3、被代理的OrderService分析 3.1、结构如下 4、事务的管理 1、代码版本 springboot3.2.5, spring6.1.6, mybatis-plus3.5.5 业务代码 1个Controller 2个Service以及实现类 一个普通Service,一个MyBatis-Plus的Service @RestController…

作者头像 李华
网站建设 2026/9/12 1:04:21

11、渗透测试实战:目标探索、利用与攻击行动

渗透测试实战:目标探索、利用与攻击行动 在渗透测试的过程中,我们首先需要对目标环境进行探索和信息收集,之后再采取行动进行入侵和利用。以下将详细介绍相关的步骤和工具。 目标探索与信息收集 在完成前期的侦察和武器化阶段后,我们对目标环境有了一定的了解。此时,我…

作者头像 李华
网站建设 2026/9/11 5:13:57

16、攻击收尾:报告与撤离

攻击收尾:报告与撤离 1. ProxyChains测试 当我们挑选好代理并更新了 proxychains.conf 文件后,就可以进行测试。使用 ProxyChains 的语法如下: proxychains <command you want tunneled and proxied> <opt args>若要运行 nmap 扫描,可使用以下命令: r…

作者头像 李华
网站建设 2026/9/11 3:26:45

20、树莓派的替代项目探索

树莓派的替代项目探索 树莓派网络配置与Tor网络使用 首先,我们需要按以下方式编辑 /etc/tor/torrc 文件: Log notice file /var/log/tor_notices.log VirtualAddrNetwork 10.99.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 9040 Tran…

作者头像 李华
网站建设 2026/9/11 10:28:51

事件查看器-事件ID

事件查看器-事件ID一、核心日志类别说明二、系统日志&#xff08;System&#xff09;常用事件ID&#xff08;重点&#xff09;1. 启动/关机相关2. 服务相关3. 驱动/硬件相关4. 系统更新/组件相关三、安全日志&#xff08;Security&#xff09;常用事件ID&#xff08;安全审计重…

作者头像 李华