首页 > 代码库 > 认识<![CDATA[ ]]>

认识<![CDATA[ ]]>

        快下班了,今天总结一下对<![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[ ]]>