XML文件在Unity中的序列化

我们在使用Unity读取文件或者消息传递的时候,经常说到序列化。什么是序列化?序列化的意思就是我们的数据是按照一定的顺序进行赋值的,这个顺序是一定的。它主要是为了方便变量赋值。在Unity中我们也经常使用这种方法。例如我们可以这样写:

在我们需要序列化的前面加上[System.Serializable]用于告诉C#以下结构是我们需要序列化的。下面我们就说一下如何使用XML进行序列化。

我们不能直接写XML文件,我们一般是通过Excel表格将其转化成XML格式,我们需要转化成啥格式才能比较好的序列化?我们是这样操作的:

其一、定义一个Dictionary 我们将根据结构体的名字将其整个结构体放到里面。

其二、每个结构体它都有自己对应的ID,每个ID唯一标识一个结构体数据,我们就是按照ID进行读取数据。

我们可以利用Swicth case语句读取存放数据,代码如下:

大家看上面的语句,有一个DeserializeObject这个就是C#使用的反序列化函数,我们就是通过它将我们的XML里面的字段保存起来。以下是调用的函数:

那么我们只需要调用我们已经保存到Dictionary里面的值就可以了。

比如:

另外附上xml文件格式:

是不是很方便?

时间: 2024-10-12 18:35:55

XML文件在Unity中的序列化的相关文章

Protobuf-net在Unity中的序列化与反序列化

本篇中我们只讲解如何在Unity中对Protobuf-net进行序列化(Serialize)与反序列化(Deserialize),关于Unity的socket(插座)网络通信部分我们后续开篇. 首先去Protobuf-net的Google下载点下载protobuf-net类库:https://code.google.com/p/protobuf-net/downloads/list这里用的是目前最新的protobuf-net r668下载完毕后打开压缩包,在Full\unity中找到protob

xml文件在浏览器中显示成xml格式

在浏览器中对xml文件的访问,期望为xml格式,却没有 期望: 实际如下: 原来是要在IIS服务器中修改下该站点的Mine中相应文件对应的类型 右击->编辑

如何将XML文件导入Excel中

如下图所示为一个规范的XML文件,在Excel中可以将规范的XML文件导入到Excel成为规范的表格.具体有如下几种方法: 工具/原料 Excel 方法/步骤 单击“数据”选项卡下的“获取外部数据”工作组中的“自其他来源”下的“来自XML数据导入”,如下图所示   如下图所示,在弹出的“获取数据源”的对话框中找到要导入的XML文件,后单击“打开”按钮.   单击“打开”按钮后将弹出如下图所示的提示,直接单击“确定”按钮.在弹出的“导入数据”对话框中可以选择是放置在“现有工作表”还是“新的工作表”

加载XML文件到系统中

using System;using System.Data;using System.IO;using System.Xml;using System.Collections.Generic; namespace XMLFileLoad.Common{ public class StepRuleSetting { private const string SettingsPath = "StepRule.xml"; private static StepRuleSetting _in

Android中生成xml文件

xml可以用来备份文件数据 Android中xml的读写 通常把数据封装到对象中,然后通过对象俩操作数据.包名不能使用Android或Java的关键字. 当一个应用被删除时,该应用在内部存储空间内的所有数据都会被删除,而应用在外部存储空间的数据不会被删除.备份文件一般都放在外部存储空间中. 对于xml文件的校验,可以把xml文件放到浏览器中去解析,如果能够正常解析说明xml文件是正确的. 短信备份案例: activity_main.xml <RelativeLayout xmlns:androi

Android中解析与创建XML文件

Android中解析与创建XML文件 在Android中对XML的操作有多种方式,常见的有三种方式:SAX.DOM和PULL方式. DOM方式会把整个XML文件加载到内存中,在PC上常使用DOM的方式. 但是在性能敏感的设备上,主要采用的是SAX的方式,但是缺点是嵌套多个分支的时候处理不是很方便. 而PULL的方式类似SAX方式,同样很节省内存. 因此,本文章中只提供PULL的方式解析与创建XML文件. 基础类 本例中使用的实体类的定义如下: public class CAddress impl

android进阶之生成xml文件

方式一通过StringBuider 来生成xml文件(他线程不安全,不需要进行通过检测加锁,效率高,单线程建议使用.StrigBuffer线程 安全,效率较之低,多线程环境使用). 如下所示: 方式二,通过XML的序列器来实现生成XML文件,代码中的null是命名空间.tag是节点,doucument是文件头声明.示例代码如下:

Android XML文件使用

一.布局文件:在layout目录下,使用比较广泛: 我们可以为应用定义两套或多套布局,例如:可以新建目录layout_land(代表手机横屏布局),layout_port(代表手机竖屏布局),系统会根据不同情况自动找到最合适的布局文件,但是在同一界面的两套不同布局文件的文件名应该是相同的,只是放在了两个不同的目录下. 二.图片文件:在drawable目录下,从2.1版本以后分为三个目录, drawable-hdpi里面存放高分辨率的图片,如WVGA (480×800),FWVGA (480×85

有关png图片在Unity中会有白边的问题

经过一周的时间,差不多才解决了这个问题一定要记录一下. 主要遇到的困难就是png文件在转换为bytes文件后会出现白边的现象 c# - How can I programatically load a texture into an Image the same way the Unity Editor does?这个地方将问题说明的很详细. 因为我们项目会使用到大量的图片资源(png格式),但是在iOS系统会有一个非常大的问题,iOS会默认按照最大格式来保存图片.这将会导致包体安装完之后非常的