來源:https://www.cnblogs.com/planezhong/p/10068825.html
XML在C#與Unity3D中的實戰運用
一、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規範文檔。