UG2L1——三大基础组件
UG2L1——三大基础组件
Root组件
Root
Panel组件
Panel
EventSystem组件
EventSystem
UD2SL4——让Dictionary支持序列化和反序列化
UD2SL4——让Dictionary支持序列化和反序列化
我们没办法修改C#自带的类
我们可以重写一个类,继承Dictionary然后让这个类继承序列化拓展接口lXmlSerialzable
实现里面的序列化和反序列化规则即可
实现过程
12345678910111213141516171819202122232425262728293031323334public class SerizlizerDictionary<Tkey, TValue> : Dictionary<Tkey, TValue>, IXmlSerializable{ public XmlSchema GetSchema() { return null; } //自定义 字典的 反序列化规则 public void ReadXml(XmlReader reader) { XmlSerializer keySer = new XmlSerializer(typeof(Tkey)); ...
UD2SL3——lXmlSerialzable接口
UD2SL3——lXmlSerialzable接口
本章代码关键字
12345678910111213IXmlSerializable //若要使自定义类有自己的自定义序列化规则,则需要继承该接口,并实现该接口的方法GetSchema() { } //返回框架,一般返回null即可WriteXml(XmlWriter writer) { } //对该类对象序列化时会自动调用的方法writer.WriteAttributeString(,) //写属性writer.WriteElementString() //写元素节点writer.WriteStartElement() //写头节点writer.WriteEndElement() //写尾节点ReadXml(XmlReader reader) { } //对该类反序列化时会自动调用的方法reader[] ...
UD2SL2——XML反序列化
UD2SL2——XML反序列化
序列化 就是把类对象 转换为 可存储和传输的数据
反序列化 就是把存储或受到的数据 转换为 类对象
xml序列化关键知识
using 和 StreamWriter
XmlSerializer 的 Serialize序列化方法
本章代码关键字
12StreamReader //与StreamWriter相对,是读取的文件流xmlSerializer.Deserialize() //填入读取文件流,将该序列化字段反序列化出一个Object对象
反序列化
判断文件是否存在 File.Exists
文件流获取 StreamReader reader = new StreamReader(path)
根据文件流 XmlSerializer 通过 Deserialize 反序列化出对象
注意:List对象 如果有默认值 反序列化时 不会清空 会往后面添加!!!
判断文件是否存在
12string path = Application.persistentDataPath + "/Les ...
UD2SL1——XML序列化
UD2SL1——XML序列化
本章代码关键字
123456789using () { } //用于方便流对象释放和销毁,当大括号的代码块执行完毕时,会自动销毁释放括号内实例化的对象StreamWriter //用于存储文件的文件流XmlSerializer //用于序列化对象为xml的关键类xmlSerializer.Serialize(, ) //第一个参数填文件流,第二个文件填构造时传入的类型的实例化对象,将该实例化对象序列化[XmlElement("testPublic123123")] //该特性可以修改存储到xml的名字[XmlArray("IntList")] //对于数组,列表,该特性可以修改列表本身存储到xml的名字[XmlArrayItem("Int32")] //对于数组,列表,该 ...
UD2L5——C#存储XML文件
UD2L5——C#存储XML文件
本章代码关键字
12345678910XmlDeclaration //用于添加版本信息xmlDocument.CreateXmlDeclaration() //创建版本固定信息xmlDocument.AppendChild() //向文档添加节点XmlElement //节点类xmlDocument.CreateElement() //创建节点xmlElement.SetAttribute() //添加属性,如果第二个值填null,就是移除该属性xmlDocument.Save() //保存文件File.Exists() //检测文件是否存在xmlNode.RemoveChild() //移除节点的子节点xmlNode.AppendChild() ...
UD2L4——C#读取XML文件
UD2L4——C#读取XML文件
本章代码关键字
1234567891011XmlDocument //xml文档类,可以装载xml文件xmlDocument.LoadXml() //直接传入xml字符串内容来加载xml文件xmlDocument.Load() //通过xml文件的路径去进行加载XmlNode //xml单个节点信息类XmlNodeList //xml节点信息列表类xmlDocument.SelectSingleNode() //获取xml文档里的单个节点xmlNode.SelectSingleNode() //获取节点的子节点xmlNode.InnerText ...
UD2L3——XML存放位置
UD2L3——XML存放位置
XML存放位置
只读不写的XML
放在Resources或者StreamingAssets文件夹下
动态存储的XML
Application.persistentDataPath路径下
UD2L2——XML属性
UD2L2——XML属性
属性语法
1234<!--属性就是在元素标签后面空格 添加的内容,注意!所有属性都要加引号包裹,单双引号都可以用--><Friend name = "小明" age = '8'>我的朋友</Friend><!--如果使用属性记录信息 不想使用元素记录 可以如下这样写--><Father name = "爸爸" age = '50'/>
属性和元素节点的区别
属性和元素节点只是写法上的区别而已,我们可以选择自己喜欢的方式记录
1234567<!--使用元素标签嵌套的形式表示道具信息--><Item> <id>1</id> <num>10</num></Item><!--使用属性的形式表示道具信息--><Item id = '1' num = '10'/>
如何查语法错 ...
UD2L1——XML基本语法
UD2L1——XML基本语法
创建XML文件
本系列用VSCode(使用XML插件)打开编辑这些文件,其他文本编辑器一样可以使用
注释
123456<!----><!--这里写注释内容即可--><!-- 这样可以 写多行注释-->
固定语法
固定内容代表 xml的版本 和 使用的编码
所谓的编码格式,就是读取文件时解析字符串使用的编码是什么
编码格式:不同的字符,在内存中的二进制是不一样的,每一个字符对应一个数字,不同的编码格式相同字符 对应的 二进制数据 是不一样的
乱码出现的情况,就是因为用了不一样的编码格式去解析文本内容,由于字符和对应的二进制不匹配,就会出现乱码
12<!--固定内容代表xml的版本和使用的编码--><?xml version="1.0", encoding="UTF-8"?>
基本语法
XML是一种树形数据结构
1234567891011121314151617181920<!--<节点名>可以填写数据 或者 在其中包裹别的节点&l ...