做一个通用的XML序列化,支持所有类型

简介:
 

小知识:typeof(类型名)和实例.GetType()是什么?

typeof(类名):返回直指的System.Type对象,并可以通过Type对象访问基类及本类一些信息
GetType():是object类下实例方法,即无论是自己定义的类还是.net框架类都可以用此方法

如果想返回String类型的全类型形式,可以用typeof(String)

如果想返回对象string a=null;中实例a的类型,可以用a.GetType()

#region XML序列化

        public static void XmlSerialize(object type)
        {
 
            XmlSerializer xs = new XmlSerializer(type.GetType());
            Stream stream = new FileStream("c:\\zzl.XML", FileMode.Create, 
                            FileAccess.Write, FileShare.Read);
            xs.Serialize(stream, type);
            stream.Close();
        }
        public static object XmlDeserialize(Type type)
        {
            XmlSerializer xs = new XmlSerializer(type);
 

Stream stream = new FileStream("C:\\zzl.XML", FileMode.Open,

FileAccess.Read, FileShare.Read);

            object list = xs.Deserialize(stream) as object;
            stream.Close();
            return list;
        }

#endregion

本文转自博客园张占岭(仓储大叔)的博客,原文链接:做一个通用的XML序列化,支持所有类型,如需转载请自行联系原博主。

目录
相关文章
|
3月前
|
Java
springboot解决jackson序列化Long类型精度失效问题
springboot解决jackson序列化Long类型精度失效问题
|
4月前
|
XML 数据格式
XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素包含其他元素和/或属性,分为4类:空元素、仅含元素、仅含文本和既含元素也含文本。定义复杂元素可通过直接声明或引用预定义的复杂类型。复杂空元素仅含属性,而仅含元素的类型则只包含其他子元素。XSD提供了`<xs:sequence>`、`<xs:all>`、`<xs:choice>`等指示器来规定元素顺序和出现次数,以及`<xs:attributeGroup>`和`<xs:group>`来组织元素和属性。
215 7
|
4月前
|
XML 存储 JSON
c#XML、JSON的序列化和反序列化,看完你就懂了
c#XML、JSON的序列化和反序列化,看完你就懂了
73 0
|
4月前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
83 0
|
4月前
|
XML 存储 BI
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
|
4月前
|
XML 存储 API
[序列化协议] --- XML
[序列化协议] --- XML
63 0
|
4月前
|
XML 存储 JSON
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
开发时经常会遇到需要保存配置的情况,最常见的实现方式是将对象序列化成Json,再写入文件并保存到本地磁盘。 本文将使用开源库**ApeFree.DataStore**来替换原有的对象存储过程,实现一个可以随意切换存储方式的对象存储方法。 ApeFree.DataStore是一款可配置的对象存储库,支持在不同平台/介质中对内存中的对象进行存储与还原(如本地存储、注册表存储)。支持配置序列化格式(如Json、Xml),支持配置压缩算法(如GZip、Defalte),支持配置加密算法(如AES、RSA)。
103 0
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
|
4月前
|
XML Java 数据库连接
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
110 0
|
数据库
序列化类型为XX的对象时检测到循环引用
序列化类型为XX的对象时检测到循环引用
54 0
|
XML 开发框架 算法
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
131 0