【简介】PCDATA是XML中默认的字符数据,会被解析器解析,而通过CDATA包装的字符属于文本数据,不会被解析器解析。
1. PCDATA(parsed character data) - 被解析的字符数据
在XML中,所有的字符都会默认的被解析器解析,所以在同一行中的一个标签对,无论里边是文本(<age>23</age>
),还是嵌套有标签对(<person><name>小朱</name><age>23</age></person>
),都会被解析器解析,标签对按照标签对的格式来解析,实体引用(包括”< &”等等),按照实体引用的格式来解析。
<age>23</age>
<person><name>小朱</name><age>23</age></person>
但是有的时候,我们不想让标签对中的数据再被解析,这时候我们就需要使用CDATA将数据转换为文本数据。
2. CDATA(character data) - 不被解析的字符数据(文本数据)
有的时候我们需要将类似于”< ” 和 “&”的字符不被解析,保持它原来的含义,这时候我们可以使用CDATA对这部分字符进行封装,在CDATA里边的所有内容都会被解析器忽略。
<script>
<![CDATA[
function fun(a,b){
if (a < b && a < 0)
return 1;
else
return 0;
}
]]>
</script>
CDATA部分的格式由 <![CDATA[" 开始,由 "]]>
结束,在上面这个例子中,fun()函数中的”< ” 和 “&”就不会被解析器解析,保持小于号(<)和 “与(&)”的含义。
附: 欢迎大家关注我的优酷空间一点编程 ,里边有同步视频教程- 【XML】字符解析与文本解析-06 。同时也可以关注我的新浪微博-一点编程。