PCDATA 和 CDATA

PCDATA
  被解析的字符数据
  Parsed Character Data, 表示被解析的字符数据,可理解为应该由XML解析器解析的文本数据

  XML解析器通常会解析XML文档中所有的文本
  当某个XML元素被解析时,其标签之间的文本也会被解析,如:

<message>This text is also parsed</message>

 

  下例中,<name>元素包含着另外的两个元素first和last,

<name><first>Bill</first><last>Gates</last></name>

  解析器会把它分解为如下这样子:

<name>
    <first>Bill</first>
    <last>Gates</last>
</name>

 


CDATA

  Character Data, 表示(未解析)字符数据,可以理解为不应该由XML解析器解析的文本数据

  XML文档中的所有文本均会被解析器解析,但CDATA区段中的文本会除外

  像 "<" 和 "&" 字符在 XML 元素中都是非法的
    "<" 会产生错误,因为解析器会把该字符解释为新元素的开始
    "&" 会产生错误,因为解析器会把该字符解释为字符实体的开始
  因此,比如在JavaScript代码中包含了大量 "<" 或 "&" 字符
  为了避免解析错误,可将脚本代码定义为CDATA
  这样的话,CDATA部分中的所有内容都会被解析器忽略


  格式:
    CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束

    <![CDATA[
      ...
      被解析器忽略的字符
      ...
    ]]>

<script>
    <![CDATA[
        function matchwo(a,b)  //整个matchwo函数体会被解析器忽略
        {
            if (a < b && a < 0) then
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
    ]]>
</script>

关于CDATA部分的注释:
  CDATA部分不能包含字符串 "]]>",也不允许嵌套的CDATA部分
  标记CDATA部分结尾的 "]]>" 不能包含空格或换行

上一篇:Js获取并解析input中的xml并提取CDATA文档


下一篇:mybatis使用特殊符号