本文共 2056 字,大约阅读时间需要 6 分钟。
PCDATA
PCDATA 的意思是被解析的字符数据(parsed character data)。可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。PCDATA 是会被解析器解析的文本。这些文本将被解析器检查实体以及标记。文本中的标签会被当作标记来处理,而实体会被展开。不过,被解析的字符数据不应当包含任何 & < > 字符;需要使用 & < > 实体来分别替换它们。 CDATACDATA 的意思是字符数据(character data)。CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。几个实体引用字符:< <> >& &" "' '又有网上有人这样说,我觉得挺直观,先转过来:PCDATA表示已解析的字符数据。CDATA是不通过解析器进行解析的文本,文本中的标签不被看作标记。CDATA表示里面是什么数据XML不会解析,比如#PCDATA是在 XML约束文档里使用的,如DTD类型的约束文档,在这里面表示元素的内容或属性的取值范围等等,是字符串形式的
实体 | 实体引用 | 含义 |
---|---|---|
lt | < | <(小于号) |
gt | > | >(大于号) |
amp | & | &(“and”符) |
apos | ' | '(撇号或单引号) |
quot | " | "(双引号) |
例一: 双引号的使用。
双引号作为XML 属性值的开始结束符号,因此无法在值中直接使用"". 处理方式可以分为两种。
a: 属性值中没有'(单引号) ,那么可以用单引号'' 作为属性值的开始结束符号
<add key="IPhone" value="apple"/> ...属性值为 ("apple").
解决: <add key="IPhone" value=’"apple"‘/>
b: 属性值中有'(单引号) ,也有双引号。 如...属性值为 ("'apple").
<add key="IPhone" value=""'apple""/>