XPath怎么选择名字以特定字符开头的节点 starts-with()

畫卷琴夢
发布: 2025-12-15 16:56:02
原创
353人浏览过
starts-with()函数用于匹配字符串前缀,需结合name()、.或@attr使用:匹配元素名用starts-with(name(), 'div'),匹配文本用starts-with(., 'Error'),匹配属性用starts-with(@id, 'user');注意大小写敏感且参数须为字符串。

xpath怎么选择名字以特定字符开头的节点 starts-with()

在XPath中,用 starts-with() 函数可以精准匹配节点名(或文本内容)以指定字符串开头的情况。它常用于元素名、属性值或文本节点的筛选。

选择元素名以特定字符开头的节点

注意:XPath本身不能直接判断“元素名是否以某字符开头”,因为 starts-with() 作用于字符串值(如 name()local-name() 的返回结果),而非标签名本身。所以需结合 name() 函数使用:

  • //*[starts-with(name(), 'div')] —— 选所有标签名以 "div" 开头的元素(如 <div>、<code><divcontainer></divcontainer>
  • //*[starts-with(local-name(), 'a')] —— 更推荐,避免命名空间干扰,选本地名以 "a" 开头的元素(如 <a></a><article></article>
  • 选择文本内容以特定字符开头的节点

    这是最常见用法,直接对节点的字符串值做判断:

    • //p[starts-with(text(), 'Hello')] —— 选第一个文本子节点以 "Hello" 开头的 <p></p> <div class="aritcle_card"> <a class="aritcle_card_img" href="/ai/1514"> <img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a34c738c2395.png" alt="Magick"> </a> <div class="aritcle_card_info"> <a href="/ai/1514">Magick</a> <p>无代码AI工具,可以构建世界级的AI应用程序。</p> <div class=""> <img src="/static/images/card_xiazai.png" alt="Magick"> <span>225</span> </div> </div> <a href="/ai/1514" class="aritcle_card_btn"> <span>查看详情</span> <img src="/static/images/cardxiayige-3.png" alt="Magick"> </a> </div>
    • //span[starts-with(., 'Error')] —— . 表示当前节点的合并文本(含所有子文本),更稳妥,适合有内联标签的场景

    选择属性值以特定字符开头的节点

    配合 @属性名 使用即可:

    • //input[starts-with(@id, 'user')] —— 选 id 属性以 "user" 开头的 <input> 元素(如 id="username"id="userEmail"
    • //*[@class and starts-with(@class, 'btn-')] —— 先确保 @class 存在,再判断是否以 "btn-" 开头(避免空值报错)

    注意事项和常见坑

    starts-with() 区分大小写,且只支持字符串前缀匹配,不支持通配符或正则:

    • 想忽略大小写?XPath 1.0 无内置函数,需靠外部处理;XPath 2.0+ 可用 lower-case() 包裹,如 starts-with(lower-case(@id), 'user')
    • text() 只取第一个文本子节点,若元素含多个文本或嵌套标签,建议用 . 替代
    • 函数参数必须是字符串,starts-with(@data-id, 123) 会报错,应写成 starts-with(@data-id, '123')

    基本上就这些。掌握 starts-with() 配合 name().@attr,就能覆盖大多数“开头匹配”需求。

以上就是XPath怎么选择名字以特定字符开头的节点 starts-with()的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

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

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

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