html报表或者xml里面的&字符替换写法
Caused by: org.xml.sax.SAXParseException: <Line 11742, Column 27>: XML-20201: (Fatal Error) Expected name instead of .
我让客户dba把output文件发出来了,发现11742行有点特殊,如下:
<CUST_NAME>BERGENSTRAHLE & LINDVALL</CUST_NAME>
因此错误的原因就是输出内容中有&符号
解决办法是将&符号变成&,但是不能在代码里直接用&符号,而应该使用chr(38),转换语句应该是:
REPLACE(可能存在&符号的字符串,
chr(38), chr(38) || 'amp'))
这样就可以避免报错了。
相似的可能引发问题的xmp报表中不能使用的字符和需要被替换成的字符如下:
< < 小于
> > 大于
& & 和号
' ' 省略号
" " 引号
方法二:
select dbms_xmlgen.convert(xmlData =>
'AB&BB11&')
from dual
浙公网安备 33010602011771号