Oracle中是否有一个函数/过程从varchar2
删除无效的XML字符?
我需要这个,因为我想从数据库中生成XML,而某些varchar2
数据具有无效的控制字符(见下文),我需要删除它。
我担心代码U+0020
下面的控制字符:
U+0009, U+000A, U+000D: these are the only C0 controls accepted in XML 1.0;
我查了DBMS_XMLGEN
并找不到合适的内容。
我自己有什么东西要编程吗?
答案 0 :(得分:1)
我假设您的数据库字符代码是UTF8,并且这些字符从数据库的角度来看是有效的。 然后你可以简单地将它们替换为空白或NULL来摆脱它们。
e.g。
replace(str,UNISTR('\000D'),null)
答案 1 :(得分:0)
尝试
select DBMS_XMLGEN.CONVERT(UNISTR('\000D')) from dual
答案 2 :(得分:0)
此函数将使用相应的替换值dbms_xmlgen.convert()