unity中如何序列化xml

新建2個腳本

腳本2個

代碼如下:

//  腳本1   TestSertial

using System.Collections.Generic;
using System.Xml.Serialization;



[System.Serializable]
public class TestSertial
{
    [XmlAttribute("ID")]
    public int ID { get; set; }

    [XmlAttribute("Name")]
    public string Name { get; set; }

    //[XmlAnyAttribute]
    //public int Age { get; set; }

    [XmlElement("_list")]
    public List<int> _list{get;set;}
}

//腳本2   SerializeDemo

using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using UnityEngine;

public class SerializeDemo : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        SerializeTestIt();
    }

  

    void SerializeTestIt()
    {
        TestSertial testSertial = new TestSertial();
        testSertial.ID = 1;
        testSertial.Name = "測試";
        //testSertial.Age = 18;
        testSertial._list = new List<int>();
        testSertial._list.Add(2);
        testSertial._list.Add(111);
        XmlSerializeTo(testSertial);
    }

    void XmlSerializeTo(TestSertial testSertial)
    {
        //string filePath = Application.dataPath + @"demo.xml";
        string filePath = Application.dataPath + "/demo.xml";
        FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
        StreamWriter sw = new StreamWriter(fileStream, System.Text.Encoding.UTF8);
        XmlSerializer xml = new XmlSerializer(testSertial.GetType());
        xml.Serialize(sw, testSertial);
        sw.Close();
        fileStream.Close();
    }
}

掛載 SerializeDemo腳本到空物體就生成了demo.xml文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章