将AS3数据保存到XML文件

时间:2012-04-12 16:02:44

标签: actionscript-3

我有一个严肃的游戏swf从主菜单swf加载外部。

我要做的是将他们输入的播放器的名称输入到textfield并将其发送到XML文件。在每次游戏结束之后,我想将完成XML文件所花费的时间发送给它。

我遇到的问题是我不知道在XML文件中创建一个新用户,然后将默认时间00:00:00替换为玩家设置的时间。

NameTextField是文本字段的名称。

Hourtext,Minutetext和Secondtext是计时器的名称。 (它们像Hourtext'一样被命令:''Minutetext':'Secondtext。

Flash MainMenu.swf中的AS3代码

var XMLLoader:URLLoader = new URLLoader();
var Bytes:ByteArray = new ByteArray();
var FileRef:FileReference = new FileReference();

XMLLoader.addEventListener(Event.COMPLETE, XMLLoaded );
XMLLoader.load( new URLRequest("GameTimes.xml"));

function XMLLoaded(e:Event):void
{
    var XMLDoc:XML = new XML( e.target.data );
    //trace( XMLDoc.Users.User.(@Name == "Name01").Game.(@Title == "Game01"));
}

GameTimes.xml中的XML代码

<?xml version="1.0" encoding="utf-8"?>

    <Company>
        <Users>
            <User Name = "Name01">
                <Game Title = "Game01">00:00:00</Game>
                <Game Title = "Game02">00:00:00</Game>
                <Game Title = "Game03">00:00:00</Game>
                <Game Title = "Game04">00:00:00</Game>
                <Game Title = "Game05">00:00:00</Game>
                <Game Title = "Game06">00:00:00</Game>
                <Game Title = "Game07">00:00:00</Game>
                <Game Title = "Game08">00:00:00</Game>
            </User>
            <User Name = "Name02">
                <Game Title = "Game01">00:00:00</Game>
                <Game Title = "Game02">00:00:00</Game>
                <Game Title = "Game03">00:00:00</Game>
                <Game Title = "Game04">00:00:00</Game>
                <Game Title = "Game05">00:00:00</Game>
                <Game Title = "Game06">00:00:00</Game>
                <Game Title = "Game07">00:00:00</Game>
                <Game Title = "Game08">00:00:00</Game>
            </User>
        </Users>
    </Company>

感谢您的帮助:)

编辑:

提交时的代码按钮(提交名称输入到文本字段)

Cmpany.Users.appendChild("User Name = " NameTextField.text );
trace( XMLDoc.Users.appendChild(HourText.text));

我遇到错误

ReferenceError: Error #1065: Variable TCMText is not defined.

1 个答案:

答案 0 :(得分:0)

创建新的XML节点(您的用户)可以使用appendChild。

所以yourXML.company.users.appendChild(你的新用户节点)。