本文参考https://blog.csdn.net/weixin_45482313/article/details/107683038

<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如文本内容中含有特殊字符,那么就需要使用<![CDATA[<]]>转义。

此标记用于xml文档中,我们在使用mybatis时,很多时候会书写一些特殊字符:”<” , “>” , “>=”, “<=” ,“&”等,这些字符在xml文件中是非法的,如果不进行特殊处理,那么解析器会自动将这些特殊字符转义,就会报错。

所以我们要使用<![CDATA[]]>来包含不被xml解析器解析的内容。但要注意的是:

  • 此部分不能再包含”]]>”
  • 不允许嵌套使用
  • ”]]>”这部分符号间不能包含空格或者换行

那么<![CDATA[]]>和xml转义字符的功能是一致的,只是应用场景与需求有所不同

  • <![CDATA[]]>不能适用所有情况,转义字符可以
  • 对于短字符串<![CDATA[]]>写起来啰嗦,对于长字符串转义字符写起来可读性差
  • <![CDATA[]]>表示xml解析器忽略解析,所以更快。

注意:尽管使用<![CDATA[]]>很安逸,但还是建议尽量缩小<![CDATA[]]>的范围