在xml中的一些特殊符号的处理

xml作为配置文件使用的比较频繁,但是有些特殊的字符,无法直接使用。隐隐约约想起来,xml有个CDATA属性。

在xml文档中所有的文本都会被解析器解析,只有CDATA区域中的文本会被解析器忽略

为什么都要被解析?

xml解析器这样做的原因是xml元素内部可能还包含了别的元素,像下面的例子,name元素内部还包含了first和last两个元素:

<name>
    <first>laozhang</first>
    <last>zuishuai</last>
</name>

如果“laozhang”中包含了特殊字符"<",或">"等,就会导致xml解析出错,所以必须将这些特殊字符转成实体。

下面是五个在xml文档中预定义好的实体:

&lt; < 小于号

&gt; > 大于号

&amp; & 和

&apos; ' 单引号

&quot; " 双引号

注意:实体必须以符号"&“开头,以符号”;"结尾。只有"<“字符和”&"字符对于xml是严格禁止使用的,剩下的都是合法的。为了减少出错,使用实体是一个好习惯。

CDATA部件:在CDATA部件内部的所有内容都会被解析器忽略。如果文本中包含了很多的"<“字符和”&"字符,就像程序代码一样,最好把他们都放入到CDATA部件中。

一个CDATA部件以"<![CDATA["标记开始,以"]]>"标记结束。

<![CDATA[ aaa ]]>

CDATA部件中不能包括CDATA部件(不能嵌套)。

猜你喜欢

转载自blog.csdn.net/zhangxingyu126/article/details/87861790
今日推荐