如果想看如果CDATA在mybatis的xml文件中使用的可以直接跳转。
CDATA很明显不是个单词,为什么叫CDATA,其实在英文里是Character Data的缩写,直译是字符数据。也就是我们不想让解析器解释为标记,而是想让解析器解释为字符也就是Character的数据,我们就用CDATA来处理。比如这五种特殊字符 <, >,&,"和’。
以上语法由三部分组成
上述的语句中,< message > 和 < /message > 之间的所有内容都被视为字符数据而不是标记。
XML CDATA 需要遵循给定的规则
都是CDATA,我为什么把两者分开来讲,是因为我觉得在Mybatis中使用CDATA和单纯的在XML中使用CDATA有区别。
特殊字符 | 转义序列 |
---|---|
< | <; |
》 | >; |
& | &; |
" | "; |
’ | &apos; |
例如
为了防止五种特殊字符 <, >,&,"和’ 被解析器转义,就用 来包含这些字符。
例如:
上述两者转义方法中,大家都会推荐使用CDATA来进行转义,但是有一点需要大家注意。
在被CDATA包围的所有字符串不会被mybatis解析, 直接写入sql了,CDATA应该只用在特殊字符前后,不能用在< if > < foreach >等标签前面,否则可能会导致mybatis的查询失败。
上一篇:Filter防火墙(8)
下一篇:用一年时间脱胎换骨