2009-07-16 96 views
0

目前我只是有這樣一個文件,我手動解析爲一個字典:將分組鍵值對存儲在文件中的最佳方式是什麼?

str1=Hello 
str2=World 

這不再是實際的有以下幾個原因:

  • 我需要,我可以通過訪問字符串列表指數
  • 我想將鍵值對分成組

我認爲現在使用XML,因爲:

  • 適合鍵值對和團體
  • 我可以使用類和它們序列化,消除拼寫錯誤

但(假設我用的序列化類):

  • 我會必須創建許多新類來映射文檔結構
  • 詞典需要特別關心,因爲通常不能串行化ed

你推薦這種方法嗎?我應該使用XmlDocument類嗎?是否有其他格式的.net免費庫?

我想用它來本地化應用程序。

回答

5

.NET爲localization提供了非常穩固的基於資源的支持,因此您可以查看它。

如果你真的想發明自己的資源存儲格式,我建議你更仔細地看看JSON作爲序列化格式(有很多.NET庫可以處理它)或者在YAML(不確定是否存在是不錯的.NET解析器):它們在眼睛上都更簡單(如果這就是你所追求的)。

+0

你如何存儲列表中的資源?單聲道有問題嗎? – weiqure 2009-07-16 12:53:03

+0

不確定有關列表。你爲什麼要將它們存儲在資源文件中?我對Mono一無所知。 – 2009-07-16 12:54:02

0

的XmlDocument

,除非你絕對需要,不要使用XmlDocument的。它針對構建xml而沒有閱讀它進行了優化。 http://www.mattberther.com/2004/06/16/xmldocument-vs-xpathnavigator/ 使用XmlReader或XPathNavigator。如果您正在讀入類,請考慮使用XMLSerializer進行直接序列化。

的Xml與平面文件

如果要創建對象的層次結構僅使用XML。從你的描述中,簡單的逐行閱讀文本文件就足夠了。然後,您可以在第一次出現「=」時分割並將其讀入字典,列表或某個自定義結構中。它將比XML更快並且更容易維護。

拼寫

我不認爲XML可以幫助您與拼寫錯誤。

本地化

應與資源文件 這裏做看看http://www.codeproject.com/KB/dotnet/Localization.aspx 或SO https://stackoverflow.com/questions/tagged/localization+.net

相關問題