文章目录
- 1. 前言
- 2. XML 基本语法
- 2.1 固定语法(重要)
- 2.2 注释
- 2.3 基本语法
- 2.4 基本规则
- 2.5 xml 属性
- 2.6 验证语法错误
- 2.7 C#对象和XML的手动转换
- 3. C#读取存储XML
- 3.1 创建xml
- 3.2 C# 读取xml文件
- 3.2.1 通过Resources文件进行读取
- 3.2.2 通过xml文件进行加载
- 3.3 C# 存储xml文件
- 3.3.1 存储在哪个文件夹
- 3.3.2 存储xml文件
- 3.4 C# 修改xml文件
- 4 XML 序列化
- 4.1 什么是序列化和反序列化
- 4.2 xml 序列化
- 4.3 自定义结点
- 5 xml 反序列化
- 5.1 判断文件是否存在
- 5.2 反序列化
- 6 IXmlSerializeable 接口(自定义xmlSerializeable类)
- 6.1 继承 IXmlSerializable
- 6.2 WriteXml函数
- 6.2.1 存属性
- 6.2.2 存结点
- 6.2.3 写包裹结点
- 6.3 ReadXml函数
- 6.3.1 读属性
- 6.3.2 读结点
- 6.3.3 读包裹节点
- 6.4 让dictionary支持序列化反序列化
- 6.4.1 序列化
- 6.4.2 反序列化
- 7 xml数据管理类
- 7.1 存储
- 7.2 读取
1. 前言
最终达到的效果
2. XML 基本语法
2.1 固定语法(重要)
2.2 注释
2.3 基本语法
树形结构
2.4 基本规则
2.5 xml 属性
属性通过空格隔开 属性名 = 引导包裹的内容
这两个代表的东西是一样的
2.6 验证语法错误
可以在菜鸟上使用xml验证器
xml验证器
2.7 C#对象和XML的手动转换
3. C#读取存储XML
3.1 创建xml
在Resources文件夹创建一个xml文件
把文件再复制到streamingAsserts
3.2 C# 读取xml文件
3.2.1 通过Resources文件进行读取
3.2.2 通过xml文件进行加载
获取根节点
遍历同名
3.3 C# 存储xml文件
3.3.1 存储在哪个文件夹
存储在 PersistentDataPath 可读可写
3.3.2 存储xml文件
3.4 C# 修改xml文件
先移除 再添加
两个方法得到子结点的子结点
4 XML 序列化
4.1 什么是序列化和反序列化
大概就是 把对象转化成可传输的字节顺序
4.2 xml 序列化
这种序列化不能存储 private protect ,只能存public
也可以存数组 和list
不支持字典的序列化
4.3 自定义结点
5 xml 反序列化
5.1 判断文件是否存在
5.2 反序列化
这里会有问题,如果对象初始化了值,再反序列时,不会覆盖初始化值了的属性。所以会出现重复读取
所以最好不要对类进行初始化,
6 IXmlSerializeable 接口(自定义xmlSerializeable类)
6.1 继承 IXmlSerializable
在需要序列化的类继承IXmlSerializable
需要实现三个函数
第一个函数直接返回null就行
在函数中可以自定义序列化 的规则
6.2 WriteXml函数
6.2.1 存属性
6.2.2 存结点
6.2.3 写包裹结点
6.3 ReadXml函数
6.3.1 读属性
6.3.2 读结点
方式1:
读到test1
读到test2
方式2:
6.3.3 读包裹节点
6.4 让dictionary支持序列化反序列化
自定义一个dictionary,让其继承dictionary和 IXMLserializable
6.4.1 序列化
6.4.2 反序列化
7 xml数据管理类
测试类