讀取XML的方法,看了網上很多,確實很簡單。
阿新 • • 發佈:2019-01-31
XML檔案
<Store> <item> <elment id="101" name="交易品1" spriteName="avatar_Ahri_Yuzaoqian" cost="100"/> <elment id="102" name="交易品2" spriteName="avatar_Annie_Totoro" cost="200"/> <elment id="103" name="交易品3" spriteName="avatar_Bliz_Baymax" cost="300"/> <elment id="104" name="交易品4" spriteName="avatar_Kennen_Pikachu" cost="400"/> <elment id="105" name="交易品5" spriteName="avatar_Leona_Saber" cost="500"/> </item> </Store>
這裡列出一個方法。
詳細的可以搜一下雨鬆的xml教程。
private void Awake()
{
string path = Application.dataPath + "/StoreSystem/Xml/武器.xml";
weapon = LoadXml(path, "Store/item/elment", "id", "name", "spriteName", "cost");
}
修改的話就把GetAttribute換成SetAttribute(id,value)。
public static Dictionary<int,string[]> LoadXml (string path ,string nodePath,params string[] Attribute) { Dictionary<int, string[]> dic = new Dictionary<int, string[]>(); if (File.Exists(path))//檢查xml路徑 { XmlDocument xml = new XmlDocument(); xml.Load(path);//讀取xml檔案。 XmlNodeList nodeList = xml.SelectNodes(nodePath);//讀取子節點。返回一個列表。 foreach (XmlElement item in nodeList) { int id=item.GetAttribute(Attribute[0]).ToInt(); string[] str = new string[Attribute.Length - 1]; for (int i = 1; i < Attribute.Length; i++) { str[i-1] = item.GetAttribute(Attribute[i]); } dic.Add(id, str); } } else { Debug.Log("路徑不正確"); } return dic; }