如何从Flex中的本地XML文件中读取数据

时间:2013-05-13 09:21:08

标签: java actionscript-3 flex

我有一个包含flash部分的java Web应用程序。目前.swf文件正在从项目xml文件夹中读取src文件。我想从本地文件系统(xml驱动器)访问C:/文件。如何从C:/驱动器访问XML数据。目前我的java Web应用程序正在访问相同的{{1来自xml drive的文件。我可以通过javascript将C:/数据传递给xml文件。 这是最佳实践。这是从Flex中本地文件系统访问XML文件的最佳实践。

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果您的swf在Web应用程序中,则无法自由访问硬盘驱动器。不过有两种选择:

的FileReference

使用命令FileReference.browse(),您可以允许用户从本地系统中选择一个文件并加载它,或者上传它。 如果您选择load,则可以data作为ByteArray访问。

ExternalInterface的

ExternalInterface允许您通过javascript与浏览器进行通信。您可以使用ExternalInterface.addCallback()设置响应者。查看reference for some example

答案 1 :(得分:0)

您说这是一个Java Web应用程序。因此,一种方法是将XML文件放在服务器上,然后进行服务调用以在Flex中读取它。

var httpService:HTTPService = new HTTPService();
httpService.url = path; //The URL of the XML file goes here
httpService.resultFormat = "e4x";
httpService.addEventListener(FaultEvent.FAULT, onFaultHttpService);
httpService.addEventListener(ResultEvent.RESULT, onResultHttpService);
httpService.send();

您必须定义onFaultHttpServiceonResultHttpService方法。

AFAIK,除非您使用AIR,否则无法直接在Flex中访问文件系统。