快下班了,今天总结一下对<![CDATA[ ]]>的认识,不许告诉别人,这可不是偷闲啊

假设有如下学生成绩表:

如果要求借助Ibatis在XML文件中写出分数小于72分的学生姓名,那么XML文件中相应的SQL语句为:

SELECT `name` FROM  student_score_table <![CDATA[ WHERE score < 72 ]]>

SELECT `name` FROM  student_score_table WHERE score < 72

为什么第二种方式不对呢?因为小于号在XML文件中被识别为标签的开头部分,更直白的说,小于号已经被XML规范认定为了“关键字字符”,这个时候如果坚持使用小于号就需要对其进行必要的转义,言尽于此,想必你已经猜到“<![CDATA[ ]]>”的作用了——规避与XML规范冲突的字符。

什么是CDATA

CDATA全名为character data,指不使用XML解析器解析的文本数据。在标记CDATA下,所有与XML规范冲突的关键字字符串都被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:
        <![CDATA[文本内容]]>
        其中文本内容中不能出现字符串“]]>”,另外CDATA不能嵌套。

认识![CDATA[ ]]相关推荐

  1. mybatis中![CDATA[]]的作用

    此篇文章引自QH_JAVA的文章 在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用 ...

  2. XML 特殊字符处理和 CDATA

    在处理XML数据时,特殊字符要特殊处理,不能和节点字符混淆. 所有 XML 文档中的文本均会被解析器解析. 只有 CDATA 区段(CDATA section)中的文本会被解析器忽略. PCDATA ...

  3. asp.net webapi 序列化为xml 时实体属性增加![CDATA[]]防止特殊字符

    有时webapi在序列化xml时,可能需要给某些带有html或特殊字符(如 < > & /)的字段加上<![CDATA[]]> 已防止影响xml正常数据,如果使用.as ...

  4. XML CDATA概述

    XML 文档中的所有文本均会被解析器解析.只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素 ...

  5. R语言将dataframe数据从宽表(wide)变为长表(long)实战:tidyr包的gather函数、cdata包的unpivot_to_blocks函数、data.table使用melt函数

    R语言将dataframe数据从宽表(wide)变为长表(long)实战:tidyr包的gather函数.cdata包的unpivot_to_blocks函数.data.table使用melt函数 目 ...

  6. XML中CDATA及其字符实体的使用

    在写xml文档时,偶尔会用到一些特殊字符,如<.>.&等,如下面这段程序: <?xml version="1.0"?> <y>if x& ...

  7. 1.spring:helloword/注入/CDATA使用/其他Bean/null级联/p命名空间

    新建工程,导入jar,添加spring配置文件(配置文件xxxx.xml)! 1.Helloword实现 Helloword.java public class HelloWord {private ...

  8. matlab scatter cdata,matlab cdatamapping

    (x,y,z,'Cdata',flipud(c1),'FaceColor','texturemap',... 'EdgeColor','none','CDataMapping','direct','A ...

  9. XML中的CDATA是什么

    XML 解析器通常情况下会处理XML文档中的所有文本. 当XML元素被解析的时候,XML元素内部的文本也会被解析: <!--<br/ /><br/ />Code high ...

  10. mapper中的CDATA标签的用法

    术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&& ...

最新文章

  1. 四年磨一剑,机械出身的我是如何拿到蚂蚁金服 Offer 的!
  2. csu 1976: 搬运工小明
  3. Spring相关API-getBean()方法的使用
  4. Orbeon form 的安装和使用教程
  5. three.js 求两个vector3 的夹角_初中数学:动点问题-阿氏圆最值模型(2),求PD-1/2PC的最大值...
  6. 服务器ip维护无法登录,用DHCP解决服务器硬件管理口没有设置IP无法登录的问题...
  7. 了解MySQL的隐式转化
  8. 韩语在线翻译图片识别_超强的免费OCR文字扫描工具,网页视频PDF均可识别并翻译...
  9. js获取时间戳的几种方式
  10. UESTC 1634 去年春恨却来时,落花人独立,微雨燕双飞
  11. cccc2016决赛9
  12. linux监控线程运行状态,linux查看线程状态--jstack
  13. Chrome插件安装办法【PC端】
  14. SpringBoot(三)配置文件
  15. [C++] 栈的压入、弹出序列
  16. Windows11 Store应用商店下载的软件,怎么创建快捷方式
  17. 解决打开文件、文件夹、拖拽复制删除时鼠标卡顿
  18. 如何检索国家自然科学基金项目信息并下载结题报告
  19. vue+echarts实现仪表盘
  20. 乔布斯传阅读体会【持续更新】

热门文章

  1. 近现代科学三大发现:证实佛法真实不虚
  2. android 蓝牙编程重点---如何发送和接收16进制数据
  3. 重读博弈论(八)---海萨尼转换与贝叶斯法则
  4. Load data local infile
  5. Axios FormData
  6. 陈桂林个人博客传送门
  7. Angular学习笔记04——绑定和管道
  8. python常用模块初始
  9. git学习笔记(三)
  10. 《精通Matlab数字图像处理与识别》一第6章 频率域图像增强