gpt4 book ai didi

actionscript-3 - 可以在AS3中保存XML文件

转载 作者:行者123 更新时间:2023-12-04 05:05:36 25 4
gpt4 key购买 nike

var xml:XML = <myXml>
<item prop="1" />
<item prop="2" />
</myXml>;

我需要将xml文件另存为本地硬盘(项目目录)。

是否可以保存为as3本身?

最佳答案

我将它们组合在一起,并且可以肯定地使用下面的简单示例将其保存到.XML。

package com.hodgedev.xmlcreator
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.ByteArray;
import flash.net.FileReference;

/**
* ...
* @author Brian Hodge (brian@hodgedev.com)
*/
public class Main extends Sprite
{
private var _xml:XML;

public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);

//Calling the save method requires user interaction and Flash Player 10
stage.addEventListener(MouseEvent.MOUSE_DOWN, _onMouseDown);

_xml= <xml>
<test>data</test>
</xml>;
}
private function _onMouseDown(e:MouseEvent):void
{
var ba:ByteArray = new ByteArray();
ba.writeUTFBytes(_xml);
//ba.

var fr:FileReference = new FileReference();
fr.addEventListener(Event.SELECT, _onRefSelect);
fr.addEventListener(Event.CANCEL, _onRefCancel);

fr.save(ba, "filename.xml");
}
private function _onRefSelect(e:Event):void
{
trace('select');
}
private function _onRefCancel(e:Event):void
{
trace('cancel');
}
}

}

有一些事情要注意。
  • 您需要Flash Player 10使用FileReference类的save方法。
  • 为了执行邀请提示的任何操作,Flash需要用户交互,例如键盘或鼠标输入。

  • 在上面,我在舞台上监听 MouseEvent.MOUSE_DOWN充当USER INTERACTION,这是调用保存提示所必需的。

    我在代码中设置了一个基本的XML结构(这通常来自外部,并且两种方法都可以正常工作。

    创建一个 ByteArray,并将XML写入 ByteArray
    FileReference类的save方法需要 ByteArray和默认保存名称作为两个参数传递。

    我希望这有帮助。

    关于actionscript-3 - 可以在AS3中保存XML文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/945086/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com