讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

立刻MV
立刻MV

低成本歌曲 MV、视频生成

updream

一键生成高质量推广成片

Seko
Seko

AI短剧一键生成成片

XPath怎么查找一个节点后面的第一个指定节点

胖芳大大_6307

胖芳大大_6307

发布时间:2026-01-09 11:13:52

|

444人浏览过

|

来源于php中文网

原创

XPath中查找“某个节点后面的第一个指定节点”应优先使用following-sibling::tagname[1]轴定位同级后续首个元素;若需跨层级则用following::tagname[1],但效率低且范围广。

xpath怎么查找一个节点后面的第一个指定节点

用 XPath 查找“某个节点后面的第一个指定节点”,核心是使用 following-sibling 轴,配合位置谓词 [1]。

基本写法:following-sibling::tagname[1]

假设你当前定位到一个节点(比如某个 <div>),想找到它**后面紧邻的同级兄弟节点**中第一个指定标签(如 <code><p></p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器"><img src="https://img.php.cn/upload/skill/001/246/273/6adaf20d3191a227.jpg" alt="DeepBI DHTML 页面生成器" ></a> <div class="aritcle_card_info flexColumn"> <a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器">DeepBI DHTML 页面生成器</a> <p>生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur</p> </div> <a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div>),写法是:

  • following-sibling::p[1] —— 找当前节点之后、同级中第一个 <p></p>
  • 注意:它只看**同级、后续、且是元素节点**(不包括文本、注释等)
  • 如果中间有其他元素(比如 <span></span>、<hr>)隔开,只要目标 <p></p> 是后续兄弟中第一个出现的,就匹配成功

更精确:带条件的首个兄弟节点

如果要找的是“后面第一个满足某条件的兄弟节点”(比如 class="info" 的 <div>),可以加谓词: <ul> <li><code>following-sibling::div[@class='info'][1]

  • ⚠️ 注意顺序:[@class='info'][1] 表示“先筛选出所有符合条件的兄弟 <div>,再取其中第一个” <li>而 <code>following-sibling::div[1][@class='info'] 表示“先取第一个兄弟 <div>,再判断它是否 class='info'”——二者逻辑不同,结果可能不一样 <h3>跨层级?用 following 轴(慎用)</h3> <p>如果目标节点**不在同一级**(比如在下一个 <code><section></section> 里),following-sibling 就失效了。此时可用 following 轴:

    • following::p[1] —— 找文档中当前节点之后、**所有后续节点中第一个 <p></p>**(不管嵌套多深)
    • 但要注意:following 包含所有后代和后续兄弟的后代,范围大、效率低,且容易受文档结构影响
    • 一般优先用 following-sibling;只有确认目标一定是同级或需跨层时,才考虑 following

    实际例子(HTML 片段)

    假设有如下 HTML:

    起点

    无关项

    第一个 p


    第二个 p


    提示框

    那么:

    • //div[@id='start']/following-sibling::p[1] → 匹配“第一个 p”
    • //div[@id='start']/following-sibling::div[@class='info'][1] → 匹配“提示框”
    • //div[@id='start']/following::p[1] → 同样匹配“第一个 p”(因为它是后续中第一个 <p></p>)

    基本上就这些。关键是分清 sibling(同级)和 following(全局后续),再结合 [1] 和谓词位置,就能准确抓到“后面第一个指定节点”。

  • 相关文章

    多语言切换php怎么写语言切换下拉框

    jQuery 入门教程:使用 jQuery 获取输入值并动态更新页面文本

    如何在不触发 invalid 事件的情况下校验 HTML 表单元素的有效性

    如何在不触发 invalid 事件的情况下检查 HTML 表单元素的有效性

    Flex 容器如何影响子项高度:深入解析 margin 塌陷与布局上下文变化

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    上一篇:C# LINQ to XML怎么处理带命名空间的XML 下一篇:WSDL文件是什么 Web服务描述语言XML格式

    作者最新文章

    热门AI工具

    更多
    二狗PPT
    二狗PPT Hot

    一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

    Flowith
    Flowith Hot

    Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

    豆包大模型

    豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

    Atoms
    Atoms Hot

    Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

    讯飞智文

    一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

    DeepSeek

    DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

    PixPix
    PixPix Hot

    PixPix是一款面向电商视觉生产的AI商品图生成工具。

    切问学术

    切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

    WorkBuddy

    一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

    相关专题

    更多
    class在c语言中的意思
    class在c语言中的意思

    在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

    4616

    2024.01.03

    python中class的含义
    python中class的含义

    本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

    326

    2025.12.06

    Go-Zero API开发使用教程
    Go-Zero API开发使用教程

    本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

    20

    2026.11.12

    Go-Zero安装与goctl环境配置教程
    Go-Zero安装与goctl环境配置教程

    本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。

    20

    2026.11.12

    Go-Zero零基础入门教程
    Go-Zero零基础入门教程

    本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。

    20

    2026.11.12

    Postman身份认证怎么配置
    Postman身份认证怎么配置

    本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

    120

    2026.11.06

    Postman请求头Headers怎么设置
    Postman请求头Headers怎么设置

    围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

    100

    2026.11.06

    Postman接口请求发送教程
    Postman接口请求发送教程

    详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

    100

    2026.11.06

    DBeaver怎么导入数据
    DBeaver怎么导入数据

    DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

    80

    2026.11.05

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    相关下载

    更多

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    GDB 17.2 官方文档集合
    GDB 17.2 官方文档集合

    共0课时 | 0人学习

    Bootstrap 入门安装配置
    Bootstrap 入门安装配置

    共0课时 | 0人学习

    38+ PhpStorm 提示和技巧
    38+ PhpStorm 提示和技巧

    共1课时 | 240人学习

    最新文章

    更多

    PDF工具

    更多
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn