如何在Haxe中写入XML文件?

时间:2013-08-11 19:49:24

标签: haxe nme openfl

我正在使用Haxe和OpenFL,我得到了一个生成Xml文件的程序。

但是,我无法弄清楚如何保存该文件。我可以创建Xml树并检查它是否有效,但对于我的生活,我无法弄清楚如何编写文件。

那么,简单来说,如何在Haxe中编写(和创建)文件?我希望能够在计算机上保存我新创建的Xml文件(它们作为我的程序的一些设置文件和初始化文件),以便我可以在以后加载它?

1 个答案:

答案 0 :(得分:3)

在写完这个问题后立即找到解决方案。

解决方法是首先使用sys.io.File.write()创建文件,然后使用File.saveContent()来保存数据。你可以从带有toString函数的Xml中获取字符串,最终解决方案看起来像这样:

    if (!FileSystem.exists("maps"))
    {
        FileSystem.createDirectory("maps");
    }
    var number:Int = 1;
    if (FileSystem.exists("maps/" + filename + ".xml"))
    {
        while(FileSystem.exists("maps/" + filename + number +".xml"))
        {
            number++;
        }

        filename = filename + number;
    }


    File.write("maps/" + filename + ".xml", false);
    File.saveContent("maps/" + filename + ".xml", root.toString());

这将检查目录是否存在,如果不存在,则创建它,如果文件存在,则创建一个新的编号文件而不是覆盖它(目前仍在处理保存功能)

此解决方案仅适用于c ++,尚未测试其他版本但Flash无法正常工作