Apache flex AdobeAIR-用户首选项XML

Apache flex AdobeAIR-用户首选项XML,apache-flex,air,Apache Flex,Air,我需要用AdobeAIR创建和读取一个用户首选项XML文件。它将包含大约30个节点 <id>18981</id> <firstrun>false</firstrun> <background>green</background> <username>stacker</username> ... 18981 假的 绿色 堆垛机 ... 有什么好方法可以做到这一点?编写一个“XML解析器”,它读取值,

我需要用AdobeAIR创建和读取一个用户首选项XML文件。它将包含大约30个节点

<id>18981</id>
<firstrun>false</firstrun>
<background>green</background>
<username>stacker</username>
...
18981
假的
绿色
堆垛机
...
有什么好方法可以做到这一点?

编写一个“XML解析器”,它读取值,并根据“保存首选项模型”知道要转换为的数据类型。因此,基本上,您可以编写一个方法/类,用于将“保存首选项模型”中的数据写入XML,然后编写一个方法/类,用于将XML读取到“保存首选项模型”,您可以同时使用describeType。describeType将返回模型类属性以及这些属性的类型和可访问性(读/写、只读、只读)的XML描述。对于所有读/写属性,您将它们存储到XML输出中,当读回它们时,您将执行相同的操作,只是您可以使用DescripteType输出中的type属性来确定是否需要执行字符串到布尔值的转换(如果(boolValue==“true”))和字符串到数字的转换,parseInt或parseFloat。如果要保留历史记录,您最终可以将XML存储在本地SQL数据库中,或者只将当前首选项存储在平面文件中(使用FileReference,或者在空中,您可以使用FileStream直接写入某个位置)

编辑:

同意Joshua在下面的评论本地共享对象是我看到这一点时想到的第一件事,您可以不必编写XML解析器/读取器,因为它将为您处理对象的序列化/反序列化(但是手动查看LSO可能很难看)…无论如何,我为我的另一个项目做了类似的事情,我尝试剥离出相关代码,在这里的示例中,我没有使用描述类型,但一般概念是相同的:
我将推荐类似的东西。我还要补充一下,@汤姆,如果你不需要以任何方式与其他应用程序共享这个XML,你可以考虑使用共享对象而不是XML。