asp.net xml序列化与反序列化第1/2页
发布时间:2020-03-17 08:46:49 所属栏目:Asp教程 来源:互联网
导读:在.NET下有一种技术叫做对象序列化,它可以将对象序列化为二进制文件、XML文件、SOAP文件,这样, 使用经过序列化的流进行传输效率就得到了大大的提升。
在网上找了一些关于xml序列化与反序列化的资料,摘录下: 在.NET下有一种技术叫做对象序列化,它可以将对象序列化为二进制文件、XML文件、SOAP文件,这样, 使用经过序列化的流进行传输效率就得到了大大的提升。 在.NET中提供了两种序列化:二进制序列化、XML和SOAP序列化。对于WEB应用来说,用得最多的是第二种———XML和SOAP序列化。 XML 序列化将对象的公共字段和属性或者方法的参数和返回值转换(序列化)为符合特定 XML 架构定义 语言 (XSD) 文档的 XML 流。 XML 序列化生成强类型的类,并为存储或传输目的将其公共属性和字段转换为序列格式(在此情况下为 XML)。 注意: 1、XML 序列化不转换方法、索引器、私有字段或只读属性(只读集合除外)。 2、使用Serialize和Deserialize需要指明命令空间System.Xml.Serialization,using System.IO。 xml序列化简单的应用举例: 有个类定义为: C#复制代码 public class webinfo { public string userName; public string webName; public string webUrl; } 那么通过序列化我们可以将其序列化为: XML/HTML复制代码 <?xml version="1.0"?> <webinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <userName>脚本之家</userName> <webName>脚本</webName> <webUrl>//www.jb51.net</webUrl> </webinfo> 主要的代码如下: C#复制代码 webinfo info = new webinfo(); info.userName = "脚本之家"; info.webName = "脚本"; info.webUrl = "//www.jb51.net"; //用webinfo这个类造一个XmlSerializer XmlSerializer ser = new XmlSerializer(typeof(webinfo)); //xml保存路径,序列化成功后可以通过查看该文件看到序列化后结果 string path = Server.MapPath("webinfo.xml"); try { //Stream用于提供字节序列的一般视图,这里将在根目录下建立一个xml文件 Stream file = new FileStream(path, FileMode.Create, FileAccess.Write); //把Stream对象和info一起传入,序列化出一个XML文件,如果没这一步,建立的xml内容为空 ser.Serialize(file, info); //释放资源 file.Close(); file.Dispose(); Response.Write("序列化成功"); } catch (Exception ex) { Response.Write(ex.Message); } finally { } 1 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |