大家好,欢迎来到IT知识分享网。
一、<![CDATA[]]>简介
在XML文档的解析过程中,首先查找元素的起始符,即字符”<“和字符”&“。字符”<“表示为新元素的开始,字符”&”表示为字符实体的开始。CDATA的作用是保护这些特殊字符(例如,小于号<等)不被解析。
二、<![CDATA[]]>使用注意事项
使用<![CDATA[]]>
来包含不被XML解析器解析的内容。但要注意的是:不允许嵌套使用;不能再包含”]]>”。
三、<![CDATA[]]>在MyBatis的使用
在使用 MyBatis 过程中,有时我们的 SQL 是写在 XML 映射文件中,如果写的 SQL 中有一些特殊的字符的话,在解析 XML 文件的时候会被当做 XML 自身元素,但我们不希望如此操作,所以我们要使用<![CDATA[ ]]>
来解决。如下所示:
<select id="getBlogs" resultType="Blog"> <![CDATA[ select * from t_blog where id < #{blogId} ]]> </select>
四、转义字符
如果不想使用<![CDATA[]]>,那么请使用转义字符,效果一样的:
转义字符 | 原字符 | 说明 |
---|---|---|
< |
< |
小于 |
> |
> |
大于 |
& |
& |
和号 |
' |
' |
单引号 |
" |
" |
双引号 |
提示:严格地讲,在 XML 中仅有字符”<“和”&”是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯,从而避免歧义。
五、<![CDATA[ ]]>和XML转义字符的关系
它们的功能是一样的,只是应用场景有些不同:
<![CDATA[]]>
不能适用所有情况,转义字符可以;- 对于短字符串
<![CDATA[]]>
写起来繁琐,对于长字符串转义字符可读性差; <![CDATA[]]>
表示XML解析器忽略解析,所以更快一些。
参考原文:https://www.jianshu.com/p/e1cf9c52c2a7
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122668.html