asp.net xml序列化与反序列化第1/2页

所属分类: 网络编程 / ASP.NET 阅读数: 1764
收藏 0 赞 0 分享
在网上找了一些关于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>https://www.jb51.net</webUrl>   
</webinfo>   
主要的代码如下: C#复制代码
webinfo info = new webinfo();    
info.userName = "脚本之家";    
info.webName = "脚本";    
info.webUrl = "https://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   
{    

}  
更多精彩内容其他人还在看

ASP.Net 之Datalist删除功能详解附代码

ASP.Net 之Datalist删除功能详解附代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

ASP.NET(C#)验证数字的两种方法

ASP.NET(C#)验证数字的两种方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

此页的状态信息无效,可能已损坏 的处理办法及原因分析

此页的状态信息无效,可能已损坏 的处理办法及原因分析,需要的朋友可以参考一下
收藏 0 赞 0 分享

MultiLine 换行后实现读取不换行的具体思路

输入内容中有换行,保存到数据库,直接查看感觉没有换行,但查询结果“以文本格式显示结果”你就会发现 其实是有换行的,下面与大家分享下具体的解决方法
收藏 0 赞 0 分享

swfupload ajax无刷新上传图片实例代码

在这里上传图片就需要用到ajax无刷新上传图片,这里面包含的东西不是一点半点。这里用到的是一个插件swfupload实现无刷新上传图片,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

静态gb2312编码在项目传值出现中文乱码现象

参考的美工静态页面是gb2312格式的,当此编码拿到项目中后,utf-8编码的系统,加载页面时,会出现样式问题,比如不能正常居中等
收藏 0 赞 0 分享

System.Timers.Timer定时执行程序示例代码

如果是某个逻辑功能的定时,可以将code放到逻辑功能的类的静态构造函数中,在该逻辑类第一次执行时,静态构造函数会被调用,则定时自然启动
收藏 0 赞 0 分享

分享下Asp.Net面试题目及答案集合

这篇文章主要是总结asp.net开发人员在面试过程中常遇到的一些问题小结,需要的朋友可以参考下
收藏 0 赞 0 分享

给自定义Web控件添加事件(前后台代码)

给自定义控件(Web Control)添加事件具体前后台代码如下,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

ASP.NET过滤器的应用方法介绍

ASP.NET过滤器的应用方法介绍,需要的朋友可以参考一下
收藏 0 赞 0 分享
查看更多