XML解析器通常会解析XML文档中的所有文本,例如

<Question>1+1 < 3 吗? </Question>

在 XML 文档中放置了一个类似 "<" 字符,这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。这个时候在 XML 中有 5 个预定义转义字符,分别为:

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

为了防止写文本时对每个以上的字符都进行转义,可以用CDATA区段,CDATA 内部的所有东西都会被解析器忽略。

CDATA 区段开始于 "<![CDATA[",结束于 "]]>",CDATA区段之间不能再包含CDATA(不能嵌套)。如果CDATA区段包含了字符"]]>" 或者"<![CDATA[" ,将会出错,同样要注意在字符串"]]>"之间没有空格或者换行符。

例如我们平时写javascript时,时常也会加上CDATA区段:

<script type=”text/javascript”>

<![CDATA[

function matchwo(a,b) {

if (a < b && a < 0) {

return 1

} else {

return 0 ;}

}

]]>

</script>

 

.net中的CDATA

System.Xml.XmlCDataSection CDATA 节用于为文本块添加引号或转义符,以防止文本被解释为标记语言。

XmlCDataSection 一般可以由 XmlDocument对象的CreateCDataSection方法创建。

posted @ 2008-09-19 18:32 太阳 阅读(496) 评论(0) 编辑