AS3.0 加载XML#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上想了个小小的办法,轻松搞定了.
下面把我的办法共享一下吧.
private function onLoadComplete(e:Event):void {
var loader:URLLoader=e.currentTarget as URLLoader;
var data=loader.data;
data=data.substr(0,data.lastIndexOf(">")+1);
var xml:XML=new XML(data);
............
}
来自:互联网