0

0

XPath如何选择注释节点 comment()用法

畫卷琴夢

畫卷琴夢

发布时间:2026-01-09 09:14:03

|

181人浏览过

|

来源于php中文网

原创

XPath中选择注释节点用comment(),它专用于匹配XML/HTML中的注释节点,不带参数、只匹配comment类型节点,支持路径定位、内容筛选及上下文组合,但需注意解析器对注释的支持差异。

xpath如何选择注释节点 comment()用法

XPath 中选择注释节点用 comment(),它是一个节点测试(node test),专门匹配 XML 或 HTML 文档中的注释节点(即 内容)。

comment() 基本语法和匹配逻辑

comment() 本身不带参数,必须放在谓语中或作为节点测试使用。它只匹配类型为“comment”的节点,不匹配文本、元素或属性节点。

  • //comment():选取文档中所有注释节点(无论嵌套多深)
  • /html/head/comment():仅匹配 元素直接子节点中的注释
  • //div/comment()[1]:选取每个
    下第一个注释子节点
  • //comment()[contains(., 'TODO')]:选取内容包含 "TODO" 的注释节点(注意:comment() 节点的字符串值就是其内部文本)
  • 实际使用注意事项

    HTML 解析器(如浏览器 DOM 或 lxml)对注释节点的支持程度不同。原生浏览器 XPath 引擎(如 Chrome/Firefox 的 document.evaluate)支持 comment(),但部分 HTML 解析库(如旧版 BeautifulSoup)默认不保留注释节点,需显式启用。

    YouWare
    YouWare

    社区型AI编程平台,支持一键部署和托管

    下载
    • 在 lxml 中需确保解析时传入 parser=etree.HTMLParser(remove_comments=False),否则注释会被丢弃
    • 注释节点没有标签名、属性或子节点,name() 返回空字符串,local-name()namespace-uri() 同样无效
    • string(comment()) 等价于 string(.),返回注释内容(不含

    常见组合用法示例

    结合位置、内容或上下文筛选注释,能精准定位开发标记或遗留说明:

    • //comment()[preceding-sibling::h2][1]:选取每个

      后面紧跟的第一个注释
    • //*[comment()][1]:选取第一个包含注释子节点的元素
    • //comment()[not(following::comment())]:选取最后一个注释节点(文档末尾的注释)

    验证是否生效的小技巧

    在浏览器控制台中可快速测试:

    • 打开含注释的网页(如源码里有
    • 执行:document.evaluate('//comment()', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
    • 调用 .snapshotLength 查数量,或循环用 .snapshotItem(i).textContent 查内容

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

763

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

726

2023.11.06

html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

603

2023.06.14

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

644

2023.06.21

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

465

2023.07.31

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

245

2023.08.01

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2876

2023.08.11

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

503

2023.08.11

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

3

2026.01.09

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.8万人学习

AngularJS教程
AngularJS教程

共24课时 | 2.4万人学习

CSS教程
CSS教程

共754课时 | 18.3万人学习

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

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