2009-04-20 59 views

回答

2

第三種選擇是將XML文件作爲嵌入資源放入程序集中。在這種情況下,使用Assembly.GetManifestResourceStream()來加載XML。

正如Cerebrus寫道,當本地化是必要的,RESX將是要走的路。

+0

讓我說我有一個非常巨大的XML文件,並將其放入resx文件,在這種情況下,整個文件加載到內存(RAM)每次加載DLL,直到它不卸載。這不是一個開銷嗎? – 2009-04-20 11:39:56

2

.resx文件是雖然符合特定模式(微軟的ResX架構V2.0) XML文件。這個模式的設計目的是爲了人工易讀和手動編輯。

我認爲沒有問題將數據存儲爲XML文件。基本上它取決於數據的功能 - 如果它是您嘗試存儲的本地化資源,請使用已建立的.resx文件。如果沒有,您可以自由使用自定義模式的XML。

0

請辭的.resx

積極因素XML(斑點):

  • 隨時可

否定:

  • 它會增加內存負載,如果內容規模很大。與沒有內容的裝配尺寸相比,尺寸上大。如果程序集大小爲10kb,內容大小爲10kb,即使在當前情況下10kb不會更大,只需將內容保存在單獨的文件中,就可以將程序集大小減少到一半。
  • 通過將XML保存爲字符串鍵值對 RESX,代碼可管理性大幅下降。由於resx編輯器不是XML敏感的。

如果有人非常希望將xml內容保存爲嵌入式資源,則可以創建XML文件並將其保存爲RESX中的文件資源。