Unity3d:C#スクリプトを使用してXMLを生成および解析する

標準のユニバーサルマークアップ言語のサブセットである  XML(Extensible Markup Language)、Extensible Markup Languageは、電子ファイルをマークして構造化するために使用されるマークアップ言語です(この説明はBaidu Encyclopediaから提供されています)。

  Unity3d開発では、XMLは情報を冗長化するのは簡単ですが、その可読性は強力ですが、通常はデータを格納するためにXMLを記述します。

  

  C#スクリプトを使用してXMLファイルを作成し、コードを直接追加すると、コメントが明確に記述されます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;   //首先引入命名空间
using System.IO;   //允许读写文件和数据流的类型以及提供基本文件和目录支持的类型

namespace XMLText
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlDocument xml = new XmlDocument();   //实例化xml对象

            //xml.AppendChild   /*添加指定节点到该节点的子节点末尾*/
            //xml.CreateXmlDeclaration   /*创建一个具有指定值的节点*/
            //("1.0", "UTF-8", "no"),Unity3d中可使用("1.0", "UTF-8", "null")   /*三个参数("版本","编码","是否依赖外部定义")*/
            xml.AppendChild(xml.CreateXmlDeclaration("1.0", "UTF-8", "no"));   //声明

            //xml.CreateElement   /*创建具有指定名称的元素*/
            xml.AppendChild(xml.CreateElement("root"));   //创建根节点

            //XmlNode   /*表示XML文档中的单个节点*/
            //xml.SelectSingleNode   /*选择匹配给定参数表达式的第一个XmlNode*/
            XmlNode root = xml.SelectSingleNode("root");   //获取根节点

            //XmlElement   /*表示一个元素*/
            XmlElement element = xml.CreateElement("node");   //添加元素

            element.SetAttribute("name", "value");   //设置具有指定名称的特性的值

            XmlElement childNode_1 = xml.CreateElement("child_1");   //在node节点下添加子节点
            childNode_1.SetAttribute("child_1", "first");   //给子节点添加属性
            XmlElement childNode_2 = xml.CreateElement("child_2");
            childNode_2.SetAttribute("child_2", "second");

            //逐层级添加节点
            element.AppendChild(childNode_1);
            element.AppendChild(childNode_2);
            root.AppendChild(element);

            xml.Save(@"C:\Users\dadahandsome\Desktop\myxml.xml");   //将xml保存至指定位置
                          				            //Unity3d中使用  Application.dataPath + "指定位置"   来保存xml
                          					    //Application.dataPath 为 Unity3d的 Assets文件夹目录 
        }
    }
}

  結果(Unityパスを使用すると、アセットの下の対応するフォルダーに生成されます)

    

元の記事を16件公開 賞賛7件 20,000回以上

おすすめ

転載: blog.csdn.net/yuecangjiao5151/article/details/76696495