·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]PHP输出xml结构乱码处理方式

时间:2012-07-14 22:17CuPlayer
最近的一个项目,里面需要用as3载入xml,xml由PHP输出,编码为gbk.as3里用了System.useCodePage=true.调试时发现时不时会出现错误:TypeError: Error #1088: 文档中根元素后面的标记格式必须正确.特别是数据稍大一点的时候

最近的一个项目,里面需要用as3载入xml,xml由PHP输出,编码为gbk.as3里用了System.useCodePage=true.
  调试时发现时不时会出现错误:TypeError: Error #1088: 文档中根元素后面的标记格式必须正确.特别是数据稍大一点的时候.
  经调试发现载入的数据在XML末端有时会莫明其妙跟上一串随机乱码.
  检查了PHP确定格式无误后,明白了这是flash as3使用了System.useCodePage=true后的BUG..
  网上解决办法是使用utf-8的格式.可是现在全站都统一为GBK了,接口又多,改起来很麻烦.
  于是结合的XML特定格式,在flash上想了个小小的办法,轻松搞定了.
  下面把我的办法共享一下吧.

 

  1. private function onLoadComplete(e:Event):void {   
  2. var loader:URLLoader=e.currentTarget as URLLoader;   
  3. var data=loader.data;   
  4. datadata=data.substr(0,data.lastIndexOf(">")+1);   
  5. var xml:XML=new XML(data);   
  6. ............   
  7. }    

看出来了吧,其实就是把多出的随机字符串过滤一下,因为xml必定是以'>'结尾的,将最后的'>'之后的字符都去掉就OK了。也不用全站都改代码了。需要的朋友可以参考一下吧。

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器