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

Oracle SQL生成带单引号属性的XML,求对应函数或参数

Oracle XML属性引号格式修改方案

Oracle原生XML生成函数(如XMLElement、XMLAttributes)默认使用双引号包裹属性值,这符合XML标准规范。但如果需要改为单引号格式,没有直接的函数参数可以指定引号类型,可通过以下两种方式实现:

方法1:字符串替换(推荐,相对规范)

先使用标准XML函数生成XMLType对象,再通过XMLSerialize转为字符串,最后替换属性的双引号为单引号。示例代码:

SELECT REPLACE(
         XMLSerialize(CONTENT XMLElement("emp", XMLAttributes('123' AS "id", '张三' AS "name")) AS VARCHAR2(1000)),
         '="',
         '=''')
       AS single_quote_xml
FROM dual;

注意:此方法仅替换属性起始的="为=',如果属性值本身包含双引号,XML规范要求其需转义为",替换后该转义字符会保留在单引号内,不影响XML合法性。

方法2:手动拼接XML字符串(不推荐)

直接拼接带单引号的XML字符串,但这种方式需要自行处理特殊字符转义(如<、>、&等),容易引发XML格式错误,仅适用于简单场景:

SELECT '<emp id=''123'' name=''张三''/>' AS single_quote_xml
FROM dual;

补充说明

XML规范允许单引号或双引号作为属性值的分隔符,两种格式均合法。如果没有强制格式要求,建议保留Oracle默认的双引号格式,避免额外的字符串处理开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:15:24