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 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反序列化
【UnityXml序列化】主要代码
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; }

    推荐阅读