如何在 Actionscript 3 中将数据写入 XML 文件

Posted

技术标签:

【中文标题】如何在 Actionscript 3 中将数据写入 XML 文件【英文标题】:How do you write data to an XML file in Actionscript 3 【发布时间】:2015-06-26 13:17:03 【问题描述】:

我已经看过一堆关于如何在 actionscript 3 中从外部 XML 文件读取数据的教程,但我想知道是否可以从 actionscript 编辑和添加到 XML 文件以及如何做到这一点。这可能吗?

【问题讨论】:

这是可能的,但据我所知,您只能通过 AIR 项目访问文件系统。 那么保存数据的最佳方法是什么? 我不确定您是否在问如何使用或不使用 AIR 项目来执行此操作;你能说得更具体点吗? 对不起,我应该澄清一下,是的,它是一个 AIR 项目。 您可以查看FileReference class documentation;它解释了如何做你想做的事——特别是通过save() method。 【参考方案1】:

使用 Flash Player(浏览器),您可以使用FileReference/save() 保存到用户选择的位置(类似于下载链接)。示例:

// must be in a response to user event, like a click handler
var file:FileReference = new FileReference();
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(myXML);
file.save(bytes, "data.xml");

使用 AIR(应用程序),您可以使用 File and FileStream classes 在有或没有用户交互的情况下写入文件系统。示例:

var file:File = File.documentsDirectory.resolvePath("data.xml");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTFBytes(myXML);
fileStream.close();

或提示用户输入文件位置:

var file:File = File.documentsDirectory.resolvePath("*.xml");
file.browseForSave("Save XML");
file.addEventListener(Event.SELECT, select);
function select(e:Event):void 
    var fileStream:FileStream = new FileStream();
    fileStream.open(file, FileMode.WRITE);
    fileStream.writeUTFBytes(myXML);
    fileStream.close();

【讨论】:

好的,谢谢,这更有意义。你能指出我使用的任何简单(ish)示例吗?

以上是关于如何在 Actionscript 3 中将数据写入 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在ActionScript 3中将“Null”(真正的姓氏!)传递给SOAP Web服务?

如何在 ActionScript 3.0 中写入文本文件?

如何在 jupyter notebook 中将 spark 数据帧写入 avro 文件格式?

如何在 PySide 和 Python 3.X 中将字节写入 QDataStream?

如何使用 actionscript 在 flash builder 中将背景放在我的 swf 后面?

ActionScript 3 在Air AS3中将远程rss保存在桌面上