1

ユーザーのデスクトップにある 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);       
}

しかし、うまくいきません。

4

3 に答える 3

7

URLLoaderをローカル ファイルで使用する場合は、 、 、 などの適切な URL スキームを使用する必要があります。プロパティは、適切なローカル URL を提供します (例: ) 。fileappapp-storageFile.urlfile:///C:/Users/Username/Desktop/

File.desktopDirectory.resolvePath('a.xml').url

別の、多くの場合、より良いアプローチはFileStreamAPIを使用することです。これは、ファイルシステム通信の目的のために設計されており、同期操作もサポートしています。

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);
于 2013-09-29T14:52:34.130 に答える
0

どうやら、これは「/」を追加するだけで実行できます。

var myLoader:URLLoader = new URLLoader(new URLRequest(File.desktopDirectory.nativePath + "/a.xml"));

への変更:

var myLoader:URLLoader = new URLLoader(new URLRequest("/" + File.desktopDirectory.nativePath + "/a.xml"));
于 2013-09-29T09:15:10.307 に答える