当前位置:主页 > 设计教程 > Flash >

html和xml中的转义字符在Flash as3中的用法浅析

来源:  |  作者:  |  时间:2009-01-04

在as3中使用特殊字符的时候,不小心就会出现错误,要么字符没有被显示,要么显示的不对,本文章就此做一个简单的分析,如有更好的分析,请一定要跟贴。

sample.xml和sample_cdata.xml是本例需要用到的xml文件,请点击查看他们的内容,本例以特殊字符< 和> 为例;文本字符串变量为txt, 显示文本的名称为shwo_txt。

由于html和xml中<和>有特殊含义,不能直接使用,使用这两个字符时,应使用他们的转义序列,也即<和>,故在xml文件中< 和 >会被&lt;和&gt;替代,用法请见sample.xml。

CDATA用于不想被xml解析器解析的文本数据,使用格式为,字符串部分都会被认为是纯粹的字符串,就算包含特殊的字符,也被认为是普通的字符串,用法请见sample_cdata.xml。

xml文件准备好之后,下一步就是使用程序加载xml文件,并根据xml的内容显示在文本框中(show_txt),这里使用URLLoader进 行加载,加载完成后获取字符串txt, 然后根据你所点击的按钮进行相应的显示,一下是演示文件,其中”普通”表示不使用CDATA的xml文件,text表示文本框不对html标签进行支 持,htmlText说明对html标签进行支持(注意:Flash只支持部分html标签)。

/UploadTeach/200812/20081229133355906.swf

可以看到,在xml为普通(没有使用CDATA)时,&lt;和&gt; 会首先被xml解析,转义为<和>,当字符串txt传递给show_txt的text属性时,因为不使用html标签功能,所以不会发生错 误,显示结果正确,而当txt传递给show_txt的htmlText属性时,因为使用了html标签功能,所以特殊字符<和>会被认为是 非法字符,而不予显示。

同理,当xml使用了CDATA时,xml在对文本进行解析时,会把&lt;和&gt;认为是单纯的字符而不予理会,当字符串 txt传递给show_txt的text属性时,自然,&lt;和&gt;就会显示出来,而当txt传递给show_txt的 htmlText属性时,因为使用了html标签功能,&lt;和&gt;会被转义为<和>,此时结果显示正确。

所以,要注意html和xml都会对特殊字符进行转义,以避免错误的发生。

例子下载

参考站点:

http://www.cnblogs.com/jialine/archive/2006/10/12/527736.html

http://w3schools.com/xml/xml_cdata.asp