2012-03-15 55 views
0

我需要创建和读取与Adobe AIR的用户偏好的XML文件。它将包含大约30个节点。Adob​​e AIR的 - 用户的喜好XML

<id>18981</id> 
<firstrun>false</firstrun> 
<background>green</background> 
<username>stacker</username> 
... 

什么是一个很好的方法来做到这一点?

回答

2

写了一个“XML解析器”读取的价值观和知道的数据类型的转换为基于“节约优先模式”。所以基本上你写一个方法/类,从“保存参数模型”,以XML写入数据,然后写一个方法/类,用于从XML读成“保存偏好模式”,你可以使用的describeType两种。描述类型将返回模型类属性的XML描述以及这些属性和可访问性的类型(读/写,只读,只写)。对于读/所有属性写你会并将其存储到XML输出,阅读它们的时候回来,你会做同样的事情,除非你可以使用type属性从上的describeType输出,以确定是否需要做一个字符串布尔转换(if(boolValue ==“true”))和字符串到数字的转换,parseInt或parseFloat。您可以在XML最终存储在本地的SQL数据库,如果你想保留历史,否则只是存储当前的喜好平面文件(使用的FileReference,或空气中,你可以使用的FileStream直接写入到的位置)。

编辑:

低于本地共享对象约书亚的意见同意了我想看到这个时候的第一件事情,你可以无需编写XML解析器/读者,因为它会处理串行/解 - 为你的序列化对象(但手动查看LSO可能是丑陋的)......无论如何,我为我的另一个项目做了类似的事情,我尝试删除相关的代码,在我的例子中,我没有注意到使用描述类型,但一般的概念是相同的: http://shaunhusain.com/OnePageSaverLoader/index.php

+1

+1从我;我会推荐类似的东西。我还要向@tom添加,如果您不需要以任何方式与其他应用程序共享此XML;你可以考虑使用共享对象而不是XML。 – JeffryHouser 2012-03-15 19:40:57