在開發過程中我們經常需要用到很多資源文件,比如城市名字和拼音對應列表等等。
這類文件爲什麼要作爲本地資源文件用呢?一般是因爲:
1、我們不喜歡把這些資源硬編碼到代碼裏,比如一個城市列表“北京-Beijing、上海-Shanghai、……”,如果硬編碼到代碼裏顯然不如弄到XML(或者JSON,甚至是TXT文件)裏靈活。
2、儘管這種資源可以從網絡上獲取,但對於操作頻繁的操作還是做到本地比較好(然後再加載到內存中顯然更好),何況這種資源也不是很大。
WP7讀取本地資源文件,步驟很簡單。比如我們有一個city.xml需要讀取:
首先,把此文件Copy到我們的項目中,然後設置它的屬性{複製到輸出目錄:始終複製,生成操作:Resource}(當然,也可以設置成如果較新則複製,個人感覺使用效果上沒什麼區別)
然後,代碼中調用:
StreamResourceInfo reader = Application.GetResourceStream(new Uri("/{你的項目名字};component/{文件的路徑}", UriKind.Relative));
XElement xml = XElement.Load(reader.Stream);
也可能是我對JSON使用不多的緣故,個人感覺在WP7中XML比JSON更容易使用一些。之後就是XML解析的事情了,這就不是本文的重點啦,各位同學對XML解析如果不瞭解可以查閱相關資料。
本文來自錦燕雲的博客,原文地址:http://www.cnblogs.com/vistach/archive/2011/12/02/WP7_ReadResourceFile.html
Uri txtUri = new Uri("/YouHanJiaKao;component/Data/Questions.txt", UriKind.Relative);
StreamResourceInfo sri = Application.GetResourceStream(txtUri);
using (StreamReader reader = new StreamReader(sri.Stream, System.Text.Encoding.UTF8))
{
string qustionStr = "";
while ((qustionStr = reader.ReadLine()) != null)
{}
}