现在的位置: 首页 > 综合 > 正文

XML 学习,主要是DTD学习和IBATIS 的CDATA具体什么时候用

2018年06月10日 ⁄ 综合 ⁄ 共 1137字 ⁄ 字号 评论关闭

引用:http://yjhexy.javaeye.com/blog/465150

 

dtd 学习这个够简短精辟了,我就不写了:http://www.w3school.com.cn/dtd/dtd_intro.asp

 

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; ' 单引号
&quot; " 双引号

 

 我在用XML的中间主要遇到的问题是: ibatis中什么时候需要用到 : <![CDATA[   标记

 

经过反复的实验证明,如果在IBATIS中自己的SQL中包含

<

>

&

 

需要用<![CDATA[

一般 ibatis中出现 < 表示 小于号,于XML格式冲突。 > 号一样。

& 符号ibatis中一般不出现,除非很特殊就是写死要查某个值里含有这个&。

 

' 单引号我试了,没有影响:类似如下SQL配置是没有问题的:

Xml代码 复制代码
  1. <select id="getByHobby" resultMap="baby-Result" cacheModel="baby-cache">  
  2.     select * from Baby where hobby = '/''    
  3. </select>  

 " 引号我也试了,同样没有问题:类似如下:

Xml代码 复制代码
  1. <select id="getByHobby" resultMap="baby-Result" cacheModel="baby-cache">  
  2.     select * from Baby where hobby = '"'  
  3. </select>  

 

看了IBAITS的DTD文档,没有发现有其自己定义过的实体,综上所述,只有在SQL中遇到 < > & 符号时才需要用

<![CDATA[

 

==================== 后来我又仔细学习了DTD文档 ================

CDATA 标志在属性声明中用于指明属性为CDATA字符类型,这种类型中&,<,和引号

具有特殊意义。

PCDATA标志在元素声明中用于指明元素有混合内容(字符数据或者字符数据与子元素的混合)。元素内容将被解析。
这种类型中&和<

具有特殊意义,如果不是作为标记开始,则使用时要转义。

而我们IBATIS的DTD文档中些定义的数据类型是PCDATA,所以引号不过敏。

抱歉!评论已关闭.