【发布时间】:2016-11-09 03:27:30
【问题描述】:
我今天遇到这个问题大约 4 个小时,我无法在 AS3 中加载 XML 文件。一直给我一个流错误。好像找不到文件路径。所以我抓住了错误:
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: file:///C|/Users/Hmmm/Desktop/Flash%20Projects/Jumper/bin/testxml.xml
at com::LoadXML()[C:\Users\Hmmm\Desktop\Flash Projects\Jumper\src\com\LoadXML.as:14]
at com::MainState()[C:\Users\Hmmm\Desktop\Flash Projects\Jumper\src\com\MainState.as:20]
然后我注意到 - Jumper/bin/testxml.xml - 它正在 bin 文件夹中寻找它......为什么?所以我将文件移到 bin 和瞧 - 它有效。问题是 - 我不希望它在 bin 文件夹中。
这是我的基本 XML 加载器类:
package com
{
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.EventDispatcher;
public class LoadXML extends EventDispatcher
{
private var dataXML:XML;
public function LoadXML(xmlFileName:String):void
{
var xmlLoader:URLLoader = new URLLoader(new URLRequest(xmlFileName));
xmlLoader.addEventListener(Event.COMPLETE, loadedCompleteHandler);
}
private function loadedCompleteHandler(e:Event):void
{
e.target.removeEventListener(Event.COMPLETE, loadedCompleteHandler);
try {
dataXML = new XML(e.target.data);
} catch(e:Error) {
throw new Error("Error loading XML");
}
}
}
}
我从另一个班级(同一个文件夹)调用它:
public var xmlloader:LoadXML = new LoadXML("testxml.xml");
有人可以澄清如何引用这个文件....我最终想要多个 xml 文件来存储游戏的项目详细信息、敌人位置等内容。我想要的示例路径是:src/com/maps/mapData.xml ---- 任何帮助表示赞赏。谢谢。
【问题讨论】:
-
阅读这篇文章有点帮助。 stackoverflow.com/questions/13298843/… public var xmlloader:LoadXML = new LoadXML("../src/com/testxml.xml");
-
为什么不希望这个文件在 bin 文件夹中?您希望将其存储在哪里?
标签: xml actionscript-3 flash flashdevelop urlloader