Unity XML的序列化和反序列化
来源:互联网 发布:浪漫庄园知乎 编辑:程序博客网 时间:2024/05/16 13:58
开始学习了,要不断的积累才能产生质变,加油吧!!!
今天学习一下XML的读取和写入,XML作为常用的数据存储,了解并掌握是必须的。
using UnityEngine;using System.Collections;using System.Text;using System.IO;using System.Xml;using System.Xml.Serialization;using System;/// <summary>/// XML序列化/// </summary>public class XMLUtils{ /// <summary> /// 字节转string /// </summary> /// <param name="b">字节数组</param> /// <returns></returns> public static string UTF8ByteArrayToString(byte[] b) { UTF8Encoding encoding = new UTF8Encoding(); string s = encoding.GetString(b); return (s); } /// <summary> /// 字符串转字节数组 /// </summary> /// <param name="s">字符内容</param> /// <returns></returns> public static byte[] StringToUTF8ByteArray(string s) { UTF8Encoding encoding = new UTF8Encoding(); byte[] b = encoding.GetBytes(s); return b; } /// <summary> /// 反序列化 /// </summary> /// <param name="xmlString">string内容</param> /// <param name="t">类型</param> /// <returns></returns> public static object DeserializeXML(string xmlString, Type t) { MemoryStream ms = new MemoryStream(StringToUTF8ByteArray(xmlString)); XmlSerializer xs = new XmlSerializer(t); return xs.Deserialize(ms); } /// <summary> /// 序列化--XML文件 /// </summary> /// <param name="mObject">对象</param> /// <param name="t">类型</param> /// <param name="XMLPath">生成的xml路径</param> public static void SerializeXML(object mObject, Type t, string XMLPath) { XmlWriterSettings xws = new XmlWriterSettings(); xws.Encoding = Encoding.UTF8; XmlWriter xw = XmlWriter.Create(XMLPath, xws); XmlSerializer xs = new XmlSerializer(t); xs.Serialize(xw, mObject); } /// <summary> /// 序列化--内存流 /// </summary> /// <param name="mObject">对象</param> /// <param name="t">类型</param> /// <returns></returns> public static string SerializeObject(object mObject, Type t) { MemoryStream ms = new MemoryStream(); XmlTextWriter xtw = new XmlTextWriter(ms, Encoding.UTF8); XmlSerializer xs = new XmlSerializer(t); xs.Serialize(xtw, mObject); ms = (MemoryStream)xtw.BaseStream; string xmlString = UTF8ByteArrayToString(ms.ToArray()); Debug.Log("" + xmlString); return xmlString; }}
1 0
- Unity XML的序列化和反序列化
- Unity 中XML序列化和反序列化
- unity序列化和反序列XML,并添加属性
- Unity Json的序列化和反序列化
- XML序列化和反序列化
- XML序列化和反序列化
- Xml序列化和反序列化
- XML序列化和反序列化
- xml序列化和反序列化
- XML序列化和反序列化
- XML序列化和反序列化
- Xml序列化和反序列化
- .NET对象的XML序列化和反序列化
- .NET对象的XML序列化和反序列化
- .NET对象的XML序列化和反序列化
- xml的序列化和反序列化
- xml文件的序列化 和反序列化
- .NET对象的XML序列化和反序列化
- 使用到PopupWindow【不用的话,几乎忘了】
- 使用RecyclerView实现瀑布流布局(二)
- Ubuntu nginx php7 源码编译安装
- Linux驱动开发、22-USB子系统
- 【数据结构与算法】斐波那契额数列用for循环实现
- Unity XML的序列化和反序列化
- Android 系列 2.10格式化显示的时间和日期
- 向上向下取整
- innerHTML和innerText怎么区分?
- 【管我原创,被评论才是好东西】SOA架构
- Leetcode Course Schedule II
- poj 1222 EXTENDED LIGHTS OUT (高斯消元)
- mtk平台hw_get_module分析
- SQL SERVER下非聚集索引引发的死锁问题