XML 中CDATA段 #PCDATA CDATA类型
由于CDATA段和#PCDATA,CDATA都在文字上具有相似性,为了方便大家理解,小小总结一下。
1.XML中的CDATA段,它类似PHP中的heredoc这个概念
在XML文档中所有的文本都会被解析器解析,只有在标记CDATA中所有的标记,实体引用都会被解析器忽略,而被XML处理程序当作字符数据看待
其语法为 <![CDATA [ 需要被解析器忽略的内容]]>
示例
<?xml version="1.0" encoding="utf-8" ?>
<people>
<![CDATA[<!--!和[之间不要有空白-->
<teacher>
<name>Androidyue</name>
<sex>Boy</sex>
<age>22</age>
<add>&address;</add>
</techer>
]]>
</people>
使用CDATA段时要注意一下几点CDATA字母要大些,不能嵌套,CDATA段的文本内容不能出现"]]>"字符串,"<![CDATA["中"!"和"["不能有空白,结尾"]]>"不能有空白或者换行
2.#PCDATA在元素类型声明中,将元素的类型声明为#PCDATA表示该元素的内容是可解析的字符数据,不能在该元素下包含子类,如<!ELEMENT name (#PCDATA)> 注意这里的name和"("之间必须要有一个以上空格<br/>
3.#CDATA类型CDATA是最普通的属性类型,表明属性可以是任何文本字符串,但不包括小于号"<"和双引号">",如要使用这两个符号可以使用实体引用"<"和""",其语法如下<!ATTLIST 元素名 属性名 CDATA 属性类型> 如<!ATTLIST student name CDATA #REQUIRED>总结:CDATA段可以理解成一个字符区,其内部内容XML解析器当成字符串 ,#PCDATA 是用来声明元素的类型,CDATA则是表示属性类型<br/>