我正在尝试通过 AS3 应用程序将某些内容保存在 XML 中。我认为我有正确的保存功能,所以我认为它在于我将数据推送到 XML 的功能。我也不确定在 XML 中删除节点的语法。
这是我的保存功能:
public function saveData():void {
var file:File = File.desktopDirectory.resolvePath("newPlayer.xml");
var stream:FileStream = new FileStream()
stream.open(file, FileMode.WRITE);
var newXML:XML = new XML("<player></player>");
newXML.appendChild(playerList.source);
var str:String = newXML.toString();
stream.writeUTFBytes(str);
stream.close();
}
我通过文本输入框将数据推送到 XMl 的函数:
//add a new player from text input into newPlayer.xml
var newPlayer:XML = <player></player>;
newPlayer.@name = myTextBox.text;
playerData.appendChild(newPlayer.@name);
myPlayerLabel.text = newPlayer.@name;
这在我的 init 函数中,也可以在应用程序完成时加载。我认为这是我重新启动程序时重新加载 XML 的原因:
public function init():void {
var file:File = File.desktopDirectory.resolvePath("newPlayer.xml");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
var str:String = stream.readUTFBytes(stream.bytesAvailable);
stream.close();
playerData = XML(str);
}
我认为问题在于输入,但我不完全确定,因为 XML 对我来说是新的。提前感谢您的帮助!