2012-03-15 54 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