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規范文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM