XML序列化将对象公共字段和属性转为结构化XML文本,反序列化则还原对象;不保存类型信息、不处理私有成员,跨系统对接需注意类型一致性。

XML序列化是把对象的公共字段和属性值转成结构化的XML文本,反序列化则是从XML文本还原出对象。它不保存类型信息,也不处理私有成员或方法,所以反序列化后的对象类型可能和原始不一致——这点在跨系统对接时要特别注意。
XML序列化怎么工作
它用标签包裹数据,比如一个Person对象序列化后可能是:
这个过程只依赖类的公共属性,不需要[Serializable]标记(和二进制序列化不同),但字段名会直接变成XML元素名。
本文档主要讲述的是Android的资源与国际化设置;资源是外部文件(不含代码的文件),它被代码使用并在编译时编入应用程序。Android支持不同类型的资源文件,包括XML,PNG以及JPEG文件XML文件根据描述的不同有不同格式。这份文档描述可以支持什么样的文件,语法,以及各种格式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
- 支持自定义命名空间、编码格式和根节点名称
- 默认跳过null值、只读属性和索引器
- 遇到循环引用会报错,需提前设计好对象结构
为什么适合数据持久化
XML是纯文本、人类可读、平台无关,特别适合存配置文件、用户设置或轻量级业务数据。
- 保存到本地文件后,能用记事本打开检查或手动修改
- 程序重启时,读取XML再反序列化,就能恢复上次的状态
- 比数据库更轻量,没有连接、迁移、权限等开销
实际使用要注意什么
不是所有场景都适合XML序列化,尤其对性能或安全性要求高的地方。
- 敏感字段(如密码)不能直接暴露在XML里,得先脱敏或加密再序列化
- 类结构变更后,旧XML可能无法反序列化,建议加版本号或兼容字段
- 大数据量时XML体积大、解析慢,JSON或二进制格式通常更高效
基本上就这些。它不复杂但容易忽略细节,用对了就是简单可靠的持久化方案。









