XML在C#與Unity3D中的實戰應用

來源: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規範文檔。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章