You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中使用XPath提取HTML的href属性值

正确实现方案

你之前的写法存在两个核心错误:

  1. 参数顺序错误:PostgreSQL的xpath()函数第一个参数需要传入XPath表达式,第三个参数是命名空间映射专用参数,你把属性路径错放到了第三个参数的位置
  2. XPath表达式错误:/href是匹配根节点下的href标签,不是属性,属性需要用@属性名的语法,且需要先定位到a标签节点

正确查询代码

SELECT 
  (xpath('/a/@href', $$<a href='https://www.website1.ca/en/Section1/Section2/Section3/Section-4---Section5-R-Zone.pdf'>B4</a>$$::xml))[1]::text AS extracted_url;

代码说明

  • 第一个参数传入XPath路径/a/@href:表示匹配根节点下的a标签,提取其href属性值
  • 第二个参数传入你的HTML内容,因为你的内容是纯净的合法a标签,直接转xml类型即可
  • xpath()函数返回的是匹配结果的数组,当前场景只会匹配到1个结果,用[1]取数组第一个元素后转text类型,即可得到最终的链接字符串

如果是从表字段中提取,直接替换第二个参数为你的字段名即可,示例:

SELECT 
  (xpath('/a/@href', 你的字段名::xml))[1]::text AS href_link 
FROM 你的表名;

内容的提问来源于stack exchange,提问作者user16573033

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:00:02