文档章节

[Unity]C#中 将XML和实体类之间进行相互转换的工具类

浩浩老师
 浩浩老师
发布于 2015/10/16 13:48
字数 268
阅读 502
收藏 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
 
namespace LOTool
{
    public class LO_XMLTool
    {
 
        #region 反序列化
        /// <summary>
        /// 反序列化
        /// </summary>
        /// <param name="type">类型</param>
        /// <param name="xml">XML字符串</param>
        /// <returns></returns>
        public static object Deserialize(Type type, string xml)
        {
            try
            {
                using (StringReader sr = new StringReader(xml))
                {
                    XmlSerializer xmldes = new XmlSerializer(type);
                    return xmldes.Deserialize(sr);
                }
            }
            catch (Exception e)
            {
                 
                return null;
            }
        }
        /// <summary>
        /// 反序列化
        /// </summary>
        /// <param name="type"></param>
        /// <param name="xml"></param>
        /// <returns></returns>
        public static object Deserialize(Type type, Stream stream)
        {
            XmlSerializer xmldes = new XmlSerializer(type);
            return xmldes.Deserialize(stream);
        }
        #endregion
         
        #region 序列化
        /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="type">类型</param>
        /// <param name="obj">对象</param>
        /// <returns></returns>
        public static string Serializer(Type type, object obj)
        {
            MemoryStream Stream = new MemoryStream();
            XmlSerializer xml = new XmlSerializer(type);
            try
            {
                //序列化对象
                xml.Serialize(Stream, obj);
            }
            catch (InvalidOperationException)
            {
                throw;
            }
            Stream.Position = 0;
            StreamReader sr = new StreamReader(Stream);
            string str = sr.ReadToEnd();
             
            sr.Dispose();
            Stream.Dispose();
             
            return str;
        }
         
        #endregion
    }
}

 

本文转载自:http://www.cnblogs.com/daxiaxiaohao/p/4725784.html

共有 人打赏支持
浩浩老师
粉丝 1
博文 80
码字总数 0
作品 0
海淀
程序员
私信 提问
Unity 使用VisualStuido将C#脚本封装打包DLL使用

为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下 创建项目,注意选择Net Framework版本,过高Unity无法支持 添加在脚本中使用的unity引用,在封装的脚本...

su9257_海澜
2017/12/23
0
0
Unity3D 游戏引擎之Unity3D回馈IOS高级界面消息 (十)

Unity3D 游戏引擎之Unity3D回馈IOS高级界面消息 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6933456 上一章介绍了I...

彭博
2012/03/09
606
0
HoloLens开发——C++ DLL封装及在win32、Unity、AR眼镜中调用情况

一、C++ Dll基础了解 动态链接库(dll)比较好的介绍在孙鑫《VC++深入详解》第十九章动态链接库中有详细介绍。主要涉及以下问题: 1.静态链接库与动态链接库的区别 https://blog.csdn.net/za...

haitianyunlan
2018/05/09
0
0
Rider 2018.3 发布,跨平台 .NET IDE

Rider 2018.3 已发布,Rider 是一个成熟的跨平台 .NET IDE。 Rider 可以打开,管理,构建和调试各种基于 .NET Framework、Mono 和 .NET Core 的解决方案,并为 .NET 开发中使用的大多数语言提...

程六金
2018/12/21
0
0
Unity脚本运行时更新带来了什么?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhenghongzhi6/article/details/82705584 洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号。 本文是该...

关尔Manic
2018/09/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

postgres预写式日志的内核实现详解-heap2类型

导读: postgres预写式日志的内核实现详解-概述 postgres预写式日志的内核实现详解-wal记录结构 postgres预写式日志的内核实现详解-wal记录写入 postgres预写式日志的内核实现详解-wal记录读...

movead
28分钟前
0
0
ToolBar控件在C#开发APP中的使用方式【附案例源码】——Smobiler移动开发平台

控件说明 底部工具栏控件。 效果演示 其他效果 该界面为仿淘宝UI制作的一个简单的UI模板,源码获取方式请拉至文章末尾。 特色属性 属性 属性说明 Direction(相对布局) 容器主轴方向。 Flex...

amanda112
39分钟前
1
0
模块

AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等...

gtandsn
45分钟前
2
0
代码之外的生存指南,这6本书助你提升软实力

上期盟主向大家推荐了6本技术类书籍,引起了热烈反响。那么,工作之余,还有哪些好书能够为你打开更多的精彩世界呢?本期,多位知名企业的技术大咖将继续为您带来好书推荐,在新的一年里,为...

安卓绿色联盟
49分钟前
4
0
5分钟用Jitpack发布开源库

作者: 菜刀文 Demo:https://github.com/helen-x/JitPackReleaseDemo 项目开发中会用到很多开源库, 他们一般通过Maven/Gradle依赖进来的. 演而优则唱,开发越来越溜以后, 你是否也蠢蠢欲动,想发...

SuShine
54分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部