xml中的特殊字符如下,因为他们都是结构字符:
< <
> >
& *amp;
' &aops;
" "
!感叹号不是特殊字符。
解决方案
转义之后传入
StringEscapeUtils.escapeXml()转义:
System.out.println(StringEscapeUtils.escapeXml("222&333"));
使用转义写法
如 < 写为 <
使用 cdata标签
cdata 是unparsed character data,理解为 不用解析的字符数据
语法:
<![CDATA[ abcd ]]>
例如:
<![CDATA[ create_date = to_date(#{createDate},'yyyy-MM-dd') ]]>
因为语句中有单引号,所以 用 <![CDATA[ 来包围。