专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »XML教程 » xmlcdata:XML指南——XML CDATA »正文

xmlcdata:XML指南——XML CDATA

来源: 发布时间:星期四, 2009年2月12日 浏览:257次 评论:0


在XML文档中所有文本都会被解析器解析
只有在CDATA部件的内文本会被解析器忽略



解析数据
XML 解析器通常情况下会处理XML文档中所有文本
当XML元素被解析时候XML元素内部文本也会被解析:
<message>This text is also parsed</message>


XML解析器这样做原因是XML元素内部可能还包含了别元素象下面例子name元素内部包含了first和last两个元素:
<name><first>Bill</first><last>Gates</last></name>


解析器会认为上面代码是这样:
<name><first>Bill</first><last>Gates</last></name>





转义
不合法XML必须被替换为相应实体 
如果在XML文档中使用类似"<" , 那么解析器将会出现解析器会认为这是个新元素开始所以不应该象下面那样书写代码:
<message> salary < 1000 then</message>


为了避免出现这种情况必须将"<" 转换成实体象下面这样:
<message> salary &lt; 1000 then</message>


下面是 5个在XML文档中预定义好实体:
&lt;<小于号
&gt;>大于号
&amp;&和
&apos;’单引号
&quot;"双引号

实体必须以符号"&"开头以符号";"结尾 
注意: 只有"<" 和"&"对于XML来说是严格禁止使用剩下都是合法为了减少出错使用实体是个好习惯



CDATA部件
在CDATA内部所有内容都会被解析器忽略
如果文本包含了很多"<"和"&"——就象代码那么最好把他们都放到CDATA部件中
个 CDATA 部件以"<![CDATA[" 标记开始以"]]>"标记结束:
<script><![CDATA[function matchwo(a,b){ (a < b && a < 0) then{ 1}{ 0}}]]></script>


在前面例子中所有在CDATA部件的间文本都会被解析器忽略
CDATA注意事项:
CDATA部件的间不能再包含CDATA部件(不能嵌套)如果CDATA部件包含了"]]>" 或者"<![CDATA[" 将很有可能出错哦
同样要注意在串"]]>"的间没有空格或者换行符
1

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: