轉載自:http://www.360doc.com/content/16/1028/10/110467_602027195.shtml
第一種——Resources.Load
這種方式是筆者首先想到的方法,想要用這個方法,需要把xml文件放在Assest\Resources文件夾下,然后通過Resources.Load(文件名)的方式來讀取。
例:比如我在Asset\Resources下有個GateInfo.xml的文件。那么想要讀取這個文件,只要Resources.Load("GateInfo");即可讀取。
string data = Resources.Load("你的xml文件").ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(data);
PS:不要加后綴名!不要加后綴名!不要加后綴名!因為很重要所以說三次
但是這種方式在編輯器的情況下可以對文件進行“增刪改查”,但是在Build之后,就只能執行“查”(也就是讀)的操作了……
第二種——Application.persistentDataPath
這是筆者最后決定使用的方法,這種方法的優點是可以在移動上執行讀寫操作,關於存儲位置如下:
Windows : C:\Users\Dorameon\AppData\LocalLow\Doraking 其中Doraemon是筆者的電腦用戶名,Doraking為項目名
Android: /data/data/com.Doraking.Mission/files: 其中com.Doraking.Mission為你build時所設定的Bundle Identifier
iOS :Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Documents(PS:筆者沒有IOS設備,沒辦法實測,於是從參考資料里復制了下來)
例:
string SavePath = Application.persistentDataPath + "//GateInfo.xml";
XmlDocument GateInfoDoc = new XmlDocument();
GateInfoDoc.Load(SavePath);
GateInfoDoc.Save(SavePath);
PS:這個和Resources.Load不一樣,是獲取文件路徑,要加后綴名!
第三種——Application.dataPath
這種方法可以把xml文件直接放在根路徑下直接讀取,但是根據筆者查閱的資料,發現這種方式在移動端沒有對應的讀寫權限╮( ̄▽ ̄")╭
但是這種方法有一種改進措施。那么就是把xml文件放在Assest\StreamingAssets下,然后通過Application.streamingAssetsPath讀取
這樣在移動端上可以執行讀的操作了~
操作方法和第二種方法類似,這里筆者就不再重復描述了