AdobeAIR as3-从桌面读取XML文件
如何读取位于用户桌面上的xml文件?我试过这个:AdobeAIR as3-从桌面读取XML文件,xml,actionscript-3,air,Xml,Actionscript 3,Air,如何读取位于用户桌面上的xml文件?我试过这个: import flash.events.Event; import flash.net.URLLoader; var myXML:XML = new XML(); var myLoader:URLLoader = new URLLoader(new URLRequest(File.desktopDirectory.nativePath + "/a.xml")); myLoader.addEventListener(Event.COMPLETE,
import flash.events.Event;
import flash.net.URLLoader;
var myXML:XML = new XML();
var myLoader:URLLoader = new URLLoader(new URLRequest(File.desktopDirectory.nativePath + "/a.xml"));
myLoader.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event:Event):void
{
myXML = XML(myLoader.data);
trace(myXML);
}
但是它不起作用。显然,这可以通过简单地添加一个“/”来实现
var myLoader:URLLoader = new URLLoader(new URLRequest(File.desktopDirectory.nativePath + "/a.xml"));
改为:
var myLoader:URLLoader = new URLLoader(new URLRequest("/" + File.desktopDirectory.nativePath + "/a.xml"));
显然,这可以通过简单地添加一个“/”来实现
var myLoader:URLLoader = new URLLoader(new URLRequest(File.desktopDirectory.nativePath + "/a.xml"));
改为:
var myLoader:URLLoader = new URLLoader(new URLRequest("/" + File.desktopDirectory.nativePath + "/a.xml"));
将
urloader
与本地文件一起使用时,应使用适当的,如文件
、应用程序
或应用程序存储
。将为您提供适当的本地URL,例如file:///C:/Users/Username/Desktop/
File.desktopDirectory.resolvePath('a.xml').url
另一种通常更好的方法是使用,因为它是为文件系统通信而设计的,还支持同步操作:
var file:File = File.desktopDirectory.resolvePath('a.xml');
var document:XML;
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
document = XML(stream.readUTFBytes(stream.bytesAvailable));
stream.close();
trace(document);
将
urloader
与本地文件一起使用时,应使用适当的,如文件
、应用程序
或应用程序存储
。将为您提供适当的本地URL,例如file:///C:/Users/Username/Desktop/
File.desktopDirectory.resolvePath('a.xml').url
另一种通常更好的方法是使用,因为它是为文件系统通信而设计的,还支持同步操作:
var file:File = File.desktopDirectory.resolvePath('a.xml');
var document:XML;
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
document = XML(stream.readUTFBytes(stream.bytesAvailable));
stream.close();
trace(document);
您还需要导入以下内容:
导入flash.net.URLRequest代码>您还需要导入以下内容:
导入flash.net.URLRequest代码>