我有一个类,通过php脚本加载一些xml数据。 我想抓住格式化的XML(我已验证是格式正确),并将其填入许多变量。 我尝试:as3:xml加载但似乎没有被强制为本机flash xml
package utils.php
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
public class DirectoryReader extends EventDispatcher
{
public var fileList:XMLList;
public var totalBytes:int;
private var loader:URLLoader;
public function DirectoryReader(url:String)
{
var urlreq:URLRequest = new URLRequest(url);
trace(url);
urlreq.contentType = "text/xml";
urlreq.method = URLRequestMethod.POST;
loader = new URLLoader(urlreq);
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(urlreq);
}
protected function completeHandler(e:Event):void
{
trace("seems to have worked...");
var loaded:XML = loader.data;
fileList = loaded.child("filelist").attribute("file");
trace("file list: " + fileList);
totalBytes = loaded.child("totalsize");
trace("total size: " + totalBytes);
dispatchEvent(new Event("directoryLoaded"));
}
}
}
我是否做了任何明显的错误? 基本上我得到一个错误,即加载的变量不能正确传播,就好像存在类型不匹配一样。 FWIW,我的类扩展了EventDispatcher,以便我可以通知其他类已经加载。我发送一个URL,包括PHP变量ala?和&。
感谢, JML
你能提供你如何使用你的类更多的代码... – Patrick 2009-12-27 21:25:45
是的,我更新的代码。 – jml 2009-12-27 21:58:49
作为一个无关的提示,这个: loaded.child(“filelist”)。attribute(“file”); 与此相同: loaded.filelist。@ file ;) – Cay 2009-12-28 01:12:03