1. 程式人生 > >XML在C#與Unity3D中的實戰運用

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規範文件。