<![CDATA[]]>和转义字符的使用和联系
来源:互联网 发布:淘宝国际卖家 编辑:程序博客网 时间:2024/06/03 18:29
一、转义方法介绍
第一种方法:
用了转义字符把>和<替换掉,然后就没有问题了。例如:
SELECT * FROM test WHERE 1 = 1 AND start_date < = CURRENT_DATE AND
end_date >= CURRENT_DATE
常用的转义字符如下:
<
<
小于号
>
>
大于号
&
&
和
'
’
单引号
"
"
双引号
第二种方法:
因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用
<![CDATA[ ]]>符号进行说明,将此类符号不进行解析你的可以写成这个:
mapper文件示例代码
<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>
二、两种方式的说明:
在xml格式的文件中,对于“>”、“<”等符号是作为特殊的符号使用的,所以当我们使用
这些符号的时候,往往不会正常的起作用,反而可能产生了语法错误。
而使用第一种方式需要注意以下几个方面:
(1)转义序列字符之间不能有空格;
(2) 转义序列必须以”;”结束;
(3) 单独出现的”&”不会被认为是转义的开始;
(4) 区分大小写。
2.使用<![CDATA[ ]]>符号相对于使用转义符方法来说是更加高效的。因为,转义前的字
符也好,转义后的字符也好,都会被xml解析器解析,而使用<![CDATA[ ]]>符号来包含
不被转义的内容,则是xml解析器能够识别该符号为忽略解析的内容。
另外,使用<![CDATA[ ]]>符号需要注意以下几个方面:
(1) 此部分不能再包含”]]>”;
(2) 不允许嵌套使用;
(3)”]]>”这部分不能包含空格或者换行。
三、比较
最后,说说<![CDATA[]]>和xml转移字符的关系,它们两个看起来是不是感觉功能
重复了?
是的,它们的功能就是一样的,只是应用场景和需求有些不同:
(1)<![CDATA[]]>不能适用所有情况,转义字符可以;
(2) 对于短字符串<![CDATA[]]>写起来啰嗦,对于长字符串转义字符写起来可读性差;
(3) <![CDATA[]]>表示xml解析器忽略解析,所以更快。
注:对于有人说在mybatis的映射文件中,最好使用第二种方法,我还没有找到相关依
据。如果,各位大神有什么答案,或者什么建议,还请不吝赐教。
- <![CDATA[]]>和转义字符的使用和联系
- <![CDATA[ ]]>和转义字符的使用
- <![CDATA[]]>和转义字符
- <![CDATA[]]>和转义字符
- <![CDATA[]]>和转义字符
- <![CDATA[]]>和转义字符
- XML中的转义字符和CDATA表示
- XML中的转义字符和CDATA部件
- XML中的转义字符和CDATA表示
- XML中的转义字符和CDATA表示
- xml中的<![CDATA[]]>和转义字符
- ASCII和转义字符的区别与联系
- Python下字符串的创建和转义字符的使用
- MXML和AS中使用转义字符的实例。
- 转义字符"\"使用和@在C#中用的妙用
- C#开发-转义序列和换行字符的使用
- js拼接字符串和转义字符的使用
- <![CDATA[]]>和转义字符 (注:这篇文章是本人在其他地方看到的,刚好项目中mybatis用到了,所以转来分享)
- 人员签到程序
- 宏润年
- undefined和null的区别
- 用java解决大数
- BZOJ 4893 项链分赃
- <![CDATA[]]>和转义字符的使用和联系
- Ruby快速入门(30分钟)
- Linux命令基础31-wc命令
- [PAT-乙级]1041.考试座位号
- jdbc连接mysql5与连接mysql6
- 树莓派GPIO接口命名规则 A different mode has already been set解决方案
- 网卡的bond模式
- vue.js安装过程(npm安装)
- [C++]vector中的insert、resize和reserve的用法