UnityXml序列化

Xml序列化

例:给需要序列化的类或属性添加标签

using System;
using System.Collections.Generic;
using System.Xml.Serialization;
[Serializable]
public class User
{
    [XmlAttribute("Id")]
    public int Id { get; set; }
    [XmlAttribute("Name")]
    public string Name { get; set; }
    [XmlElement("PhoneNumber")]
    //[XmlArray("PhoneNumber")]
    public List<int> PhoneNumber { get; set; }

}

主要代码

void XmlSerialization(User user)
{
    //创建文件流
    FileStream fileStream = new FileStream(Application.dataPath + "/test.xml",  FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite);
    //创建写入流
    StreamWriter sw = new StreamWriter(fileStream, Encoding.UTF8);
    //获取类型
    XmlSerializer xml = new XmlSerializer(user.GetType());
    //序列化至文件
    xml.Serialize(sw, user);
    //释放
    sw.Dispose();
    fileStream.Dispose();
}

Xml反序列化

主要代码

User XmlDeSerialization()
{
    //文件流
    FileStream fileStream = new FileStream(Application.dataPath + "/test.xml", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
    //获取类型
    XmlSerializer xml = new XmlSerializer(typeof(User));
    //反序列化
    User user = (User)xml.Deserialize(fileStream);
    //释放
    fileStream.Dispose();
    return user;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容