XML在C#與Unity3D中的實戰運用
阿新 • • 發佈:2018-12-05
一、xml檔案是什麼?
XML是指可擴充套件標記語言,英文:Extensible Markup Language的縮寫。
二、xml檔案有什麼用?
用來傳輸和儲存資料,比如網路通訊,本地配置檔案等。
三、xml檔案長什麼樣?
一個檔案示例:(包含了三個資料項,每個資料項裡有名字、年齡、性別這三個屬性)
<?xml version="1.0" encoding="UTF-8"?> <root> <item ID="1"> <name>Plane</name> <age>29</age> <sex>1</sex> </item> <item ID="2"> <name>Weny</name> <age>28</age> <sex>0</sex> </item> <item ID="3"> <name>Seven</name> <age>3</age> <sex>1</sex> </item> </root>
四、如何生成xml檔案?
- 製作xml模板格式檔案(必須要有兩個相同的資料項,否則無法在Excel中進行對映)
<?xml version="1.0" encoding="UTF-8"?> <root> <item ID=""> <surname></surname> <man></man> <woman></woman> </item> <item ID=""> <surname></surname> <man></man> <woman></woman> </item> </root>
- 將模板檔案匯入Excel
- 在Excel中開啟自定義選單:檔案-選項-自定義功能區-主選項卡,將開發工具新增到主選項卡。
- 在開發工具面板裡:XML-源-XML對映-新增模版檔案
- 選中源面板裡的模版,對映到表格裡。
- 在Excel中填充資料
- 資料不會型別,最終都會轉化為字串型別
- 從Excel中匯出附帶資料的xml檔案
- 在開發工具面板裡:XML-匯出
五、如何使用xml檔案?
- 載入xml檔案
- 使用Unity資源系統載入檔案
TextAsset xml = Resources.Load<TextAsset>(filePath); XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.text);
- 在C#檔案IO介面載入檔案
XmlDocument doc = new XmlDocument(); doc.Load(@"D:\Dev\info.xml");
- 解析xml檔案
- 獲取根節點下的所有子節點的List:
XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;
- 將某一個節點轉化為一個XmlElement:
XmlElement ele = nodLst[i] as XmlElement;
- 從XmlElement裡獲取名稱為"ID"的資料:
資料都是以字串的形式儲存,需要自己轉化為對應的資料型別。string value = ele.GetAttributeNode("ID").InnerText;
六、備註說明
- 關於 XML 頭宣告和standalone 的解釋
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- version="1.0" ,它是表示版本為1.0;
- standalone表示該xml是不是獨立的,如果是yes,則表示這個XML文件是獨立的,不能引用外部的DTD規範檔案;如果是no,則該XML文件不是獨立的,表示可以用外部的DTD規範文件。