Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AdobeAIR as3-从桌面读取XML文件_Xml_Actionscript 3_Air - Fatal编程技术网

AdobeAIR as3-从桌面读取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,

如何读取位于用户桌面上的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, 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