PCDATA
被解析的字符数据 Parsed Character Data, 表示被解析的字符数据,可理解为应该由XML解析器解析的文本数据XML解析器通常会解析XML文档中所有的文本
当某个XML元素被解析时,其标签之间的文本也会被解析,如:This text is also parsed
下例中,<name>元素包含着另外的两个元素first和last,
Bill Gates
解析器会把它分解为如下这样子:
Bill Gates
CDATA
Character Data, 表示(未解析)字符数据,可以理解为不应该由XML解析器解析的文本数据
XML文档中的所有文本均会被解析器解析,但CDATA区段中的文本会除外
像 "<" 和 "&" 字符在 XML 元素中都是非法的
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始 "&" 会产生错误,因为解析器会把该字符解释为字符实体的开始 因此,比如在JavaScript代码中包含了大量 "<" 或 "&" 字符 为了避免解析错误,可将脚本代码定义为CDATA 这样的话,CDATA部分中的所有内容都会被解析器忽略格式:
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束<![CDATA[
... 被解析器忽略的字符 ... ]]>关于CDATA部分的注释:
CDATA部分不能包含字符串 "]]>",也不允许嵌套的CDATA部分 标记CDATA部分结尾的 "]]>" 不能包含空格或换行