[Unity 笔记] unity中如何将Object序列化成xml字符串并保存

需要使用到以下这几个c#内置的命名空间。

using System.Xml;

using System.IO;

using System.Xml.Serialization;

序列化并存储xml文件

            XmlTextWriter xWrite = new XmlTextWriter(filename, null);
            XmlSerializer sl = new XmlSerializer(type);
            sl.Serialize(xWrite, target);
            xWrite.Close();

读取xml文件并反序列化

            XmlReader xRead = new XmlTextReader(filename);
            XmlSerializer sl = new XmlSerializer(type);
            object obj = sl.Deserialize(xRead);
            xRead.Close();
            return obj;

完整源码如下:

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

namespace CharacterBase
{
    public class XmlIO
    {
        public static object LoadFromXml(System.Type type, string filename)
        {
            XmlReader xRead = new XmlTextReader(filename);
            XmlSerializer sl = new XmlSerializer(type);
            object obj = sl.Deserialize(xRead);
            xRead.Close();
            return obj;
        }

        public static void SaveToXml(string filename, System.Type type, object target)
        {
            XmlTextWriter xWrite = new XmlTextWriter(filename, null);
            XmlSerializer sl = new XmlSerializer(type);
            sl.Serialize(xWrite, target);
            xWrite.Close();
        }
    }
}
时间: 2024-08-06 20:00:16

[Unity 笔记] unity中如何将Object序列化成xml字符串并保存的相关文章

C#对象序列化成XML,以及自定义标签名

C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> public static string XmlSerialize<T>(T obj) { string xmlString = string.Empty; XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); //using (Te

[Unity 笔记] Unity3D中水面的优化思路

(Unity 学习笔记) Unity自带的Water系统,分两种Simple和Pro Water Simple 的反射是依靠反射贴图Cubemap,通过水面的入射和反射和法线等信息,计算得到反射贴图的某一点的color. 而Water Pro的反射 是 依靠 实时生成反射贴图,来得到反射效果. Water Simple的运行损耗小,但是效果差. Water Pro的效果好,但是运行损耗很大. 思考了如何优化水面效果. 1.可以中和两种方式,采用多个预设的cubemap(不同位置得到.可通过cam

.NET 序列化成XML, 并且格式化

现有Person类: [Serializable] public class Person { public string Name; public string Info; public Person(string name) { Name = name; } [OnSerializing] public void BeforeSerialize(StreamingContext context) { Info = "Welcome, " + Name; } } 直接用DataCon

【lua】lua string.match 和 string.split 从字符串中寻找特定字符串并保存

local string = "{1,2,3,4}" local traString=string.match(string , "%d+,%d+,%d+,%d+") --此时tranString = "1,2,3,4",去掉"{","}" string = string.split(tranString , ",") string = {1,2,3,4} string[1]=1 str

webapi 实体作为参数,自动序列化成xml的问题

原文:http://bbs.csdn.net/topics/392038917 关注 Ray_Yang Ray_Yang 本版等级: #6 得分:0回复于: 2016-10-27 21:30:51 咨询高人解决了,把参数改为HttpRequestMessage request然后获取request.Content.ReadAsStringAsync().Result就可以了

NET Framework 3 5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 原贴地址:http://bbs.zkinfo.com/thread-80510-1-1.html 最近要用到jQuery调用JSON,但遇到几个问题,正面将记录下遇到的问题及解决方法. 在将Object序列化成JSON时普遍是使用以下几种方式: 1. 第三方组件Newtonsoft.Json.dll来序列化. 2. 直接用Strin

XML序列化成对象

这个是和ALM上传测试结果结合使用的//把xml序列化成对象以及把对象序列化成xml using System; using System.Data; using System.Configuration; using System.Web; using System.IO; using System.Text; using System.Xml.Serialization; using System.Xml; namespace XMLUtils { /// <summary> /// Su

在Unity 5.2中,只需几步即可轻松使用Unity服务!

孙广东  2015.9.14 转载自官方: 上周我们发布了Unity 5.2,通向Unity服务的大门已为您敞开!在编辑器内轻松使用Unity Ads, Unity Analytics,Unity Cloud Build 和 Unity Multipalyer, 从此告别SDK!就是这么简单,只需几步! 1 打开服务窗口 在窗口菜单点击Unity Service,或者点击右上角的"Cloud"图标. 2 创建项目ID 下面就开始创建您的项目Project ID了,请注意:Project

[转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]

Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为大家分享,在Unity 5.6中如何查看Draw Call未被批处理的原因. 相信大家都知道,Unity内置的动态与静态批处理有助于减少游戏中的Draw Call数量.在Stats窗口中,当"Saved by batching"值大于零时就表示批处理已经生效.但不幸的是,要想知道批处理为何