=波波日志 > flash/flex/fcs/AIR > Flash加载XML文件CDTATA节点内容被编码=
Flash加载XML文件CDTATA节点内容被编码
今天在做一个flash动画的时候,动态加载xml文件,但是碰到了CDATA节点存在XML保留字,被flash解释器自动编码为对应实体,⊙﹏⊙b汗。
XML关键字为,< > " ' & 这个5个,如果不使用CDATA节点,这些字符必须使用对应的实体 < > " ' &代替,要不XML文件会出错,但是flash自动把CDATA节点的内容中的XML关键字给编码了,自能手动替换回来,代码如下。
由于as没有内置的replace函数,自能自己编写函数来实现replace功能,更多as字符串处理函数参考:【actionscript】字符串处理函数
XML关键字为,< > " ' & 这个5个,如果不使用CDATA节点,这些字符必须使用对应的实体 < > " ' &代替,要不XML文件会出错,但是flash自动把CDATA节点的内容中的XML关键字给编码了,自能手动替换回来,代码如下。
由于as没有内置的replace函数,自能自己编写函数来实现replace功能,更多as字符串处理函数参考:【actionscript】字符串处理函数
+展开
-ActionScript
function replace (str:String, replace:String, replaceWith:String):String{
var sb:String = new String(), found:Boolean = false;
for (var i = 0; i < str.length; i++){
if(str.charAt(i) == replace.charAt(0)){
found = true;
for(var j = 0; j < replace.length; j++){
if(!(str.charAt(i + j) == replace.charAt(j))){
found = false;break;
}
}
if(found){
sb += replaceWith;
i = i + (replace.length - 1);
continue;
}
}
sb += str.charAt(i);
}//end for
return sb;
}
var ens=[{s:'&',t:'&'},{s:'<',t:'<'},{s:'>',t:'>'}],l=ens.length,i;//定义要处理的XML实体
function T(v){//Flash会把CDATA节点中的XML关键字符编码,只能替换过一道了。
v=v.toString();
for(i=0;i<l;i++)v=replace(v,ens[i].s,ens[i].t);
return v;
}
var sb:String = new String(), found:Boolean = false;
for (var i = 0; i < str.length; i++){
if(str.charAt(i) == replace.charAt(0)){
found = true;
for(var j = 0; j < replace.length; j++){
if(!(str.charAt(i + j) == replace.charAt(j))){
found = false;break;
}
}
if(found){
sb += replaceWith;
i = i + (replace.length - 1);
continue;
}
}
sb += str.charAt(i);
}//end for
return sb;
}
var ens=[{s:'&',t:'&'},{s:'<',t:'<'},{s:'>',t:'>'}],l=ens.length,i;//定义要处理的XML实体
function T(v){//Flash会把CDATA节点中的XML关键字符编码,只能替换过一道了。
v=v.toString();
for(i=0;i<l;i++)v=replace(v,ens[i].s,ens[i].t);
return v;
}
类别:flash/flex/fcs/AIR 作者:波波 日期:2010-06-23 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·As+lightbox+js实现..
- ·21.8.使用Cairngorm..
- ·13.1.为ArrayCollec..
- ·18.13.通过二进制So..
- ·22.7.使用ModuleLoa..
- ·JavaScript控制Flas..
- ·6.6.动态载入外部图..
- ·flash预加载进度条p..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(96)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·PHP socket套接字学..
- ·Warning Cannot sen..
- ·php与flash as3 soc..
- ·Flash XMLSocket使用..
- ·给flash右键增加自定..
- ·flash控件html及col..
- ·Flex3中文教程--hom..
- ·flash 问题集锦
随机博文
