日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在wp7中读取XML的配置文件,Content与Resource的区别

發布時間:2025/3/15 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在wp7中读取XML的配置文件,Content与Resource的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在一個WP7的項目中,需要讀取一個配置文件,這個配置文件無需改動,直接讀取就可以。可以用以下的方式來實現讀取:
在項目中添加Levels.xml文件,格式如下:

<?xml version="1.0" encoding="utf-8"?> <Levels> <Level> <LevelID>48</LevelID> <LevelName>走投無路(注:此布局無解)</LevelName> <Content>2,0,0,4,1,0,2,3,0,2,0,2,2,1,2,1,2,2,2,3,2,1,2,3,1,0,4,1,3,4</Content> <rcnt>0</rcnt> <MinSteps>0</MinSteps> <UserID>1</UserID> <UserName>admin</UserName> <Difficulty>7</Difficulty> </Level> <Level> <LevelID>252</LevelID> <LevelName>7系列:七步成詩</LevelName> <Content>2,0,0,2,1,0,2,3,0,2,0,2,2,1,2,4,2,2,1,0,4,1,1,4,1,2,4,1,3,4</Content> <rcnt>255</rcnt> <MinSteps>7</MinSteps> <UserID>765</UserID> <UserName>艾恩</UserName> <Difficulty>0</Difficulty> </Level> </Levels>

BuildAction設置為Content,然后在代碼中讀取:

XDocument xdoc = XDocument.Load("AllLevels.xml"); listLevels = new List<Level>(); foreach (XElement element in xdoc.Element("Levels").Descendants("Level")) { Level level = new Level(); level.LevelID = int.Parse(element.Element("LevelID").Value); level.Content = element.Element("Content").Value; level.Difficulty = int.Parse(element.Element("Difficulty").Value); //level.Difficulty = 0; level.LevelName = element.Element("LevelName").Value; level.MinSteps = int.Parse(element.Element("MinSteps").Value); level.rcnt = int.Parse(element.Element("rcnt").Value); level.UserID = int.Parse(element.Element("UserID").Value); level.UserName = element.Element("UserName").Value; listLevels.Add(level); }


這樣生成xap后,用winrar解壓縮就可以看到這個Levels.xml文件,有時候這樣不太安全,可以將其編譯到dll中。將BuildAction設置成Resource就可以將文件編譯到dll里了,初學WP7的話很容易遇到圖片無法顯示的問題,就是因為圖片一般要設置成Content,而不是Resource。

設置成Resource以后就不能直接這樣了

XDocument.Load("AllLevels.xml");

可以寫完整的Uri路徑,或者讀取Stream,用以下的方法:(這兩種都可以)

//設置成Resource屬性時 用Load方法讀取Stream //Stream stream = App.GetResourceStream(new Uri("HRD;component/AllLevels.xml", UriKind.Relative)).Stream; //XDocument xdoc = XDocument.Load(stream); //設置成Resource屬性時 用Load方法讀取uri Uri uri = new Uri("/HRD;component/AllLevels.xml", UriKind.Relative); XDocument xdoc = XDocument.Load(uri.ToString());

這樣編譯出來的xap中就看不到這個xml文件了,已經被編譯到dll里了。

除了用XElement element in xdoc.Element("Levels").Descendants("Level")這樣的讀取方式外,還可以直接用xml序列化的方式:比如:
//另一種讀取方法 //Uri uri = new Uri("MyResource/MyPeople.xml", UriKind.Relative); //StreamResourceInfo sri = Application.GetResourceStream(uri); //if (sri != null) //{ // XmlSerializer serializer = new XmlSerializer(typeof(List<Person>)); // List<Person> data = (List<Person>)serializer.Deserialize(sri.Stream); // this.listBox.ItemsSource = data; //}

參考以下文章:
http://blog.csdn.net/lee353086/article/details/6674095
http://www.silverlightchina.net/html/zhuantixilie/winphone7/2010/1207/3966.html?1292140571
http://www.cnblogs.com/tianyutingxy/archive/2011/02/27/1966267.html

轉載于:https://www.cnblogs.com/yanxiaodi/archive/2011/12/05/2296455.html

總結

以上是生活随笔為你收集整理的在wp7中读取XML的配置文件,Content与Resource的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。