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

时间:2021-05-28

在网上找了一些关于xml序列化与反序列化的资料,摘录下:
在.NET下有一种技术叫做对象序列化,它可以将对象序列化为二进制文件、XML文件、SOAP文件,这样,使用经过序列化的流进行传输效率就得到了大大的提升。

在.NET中提供了两种序列化:二进制序列化、XML和SOAP序列化。对于WEB应用来说,用得最多的是第二种———XML和SOAP序列化。

XML序列化将对象的公共字段和属性或者方法的参数和返回值转换(序列化)为符合特定XML架构定义语言(XSD)文档的XML流。

XML序列化生成强类型的类,并为存储或传输目的将其公共属性和字段转换为序列格式(在此情况下为
XML)。

注意:
1、XML序列化不转换方法、索引器、私有字段或只读属性(只读集合除外)。
2、使用Serialize和Deserialize需要指明命令空间System.Xml.Serialization,usingSystem.IO。
xml序列化简单的应用举例:

有个类定义为:
C#复制代码
publicclasswebinfo
{
publicstringuserName;
publicstringwebName;
publicstringwebUrl;
}
那么通过序列化我们可以将其序列化为:XML/HTML复制代码
<?xmlversion="1.0"?>
<webinfoxmlns: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#复制代码
webinfoinfo=newwebinfo();
info.userName="";
info.webName="脚本";
info.webUrl="https://www.jb51.net";

//用webinfo这个类造一个XmlSerializer
XmlSerializerser=newXmlSerializer(typeof(webinfo));

//xml保存路径,序列化成功后可以通过查看该文件看到序列化后结果
stringpath=Server.MapPath("webinfo.xml");

try
{
//Stream用于提供字节序列的一般视图,这里将在根目录下建立一个xml文件
Streamfile=newFileStream(path,FileMode.Create,FileAccess.Write);

//把Stream对象和info一起传入,序列化出一个XML文件,如果没这一步,建立的xml内容为空
ser.Serialize(file,info);

//释放资源
file.Close();
file.Dispose();

Response.Write("序列化成功");

}
catch(Exceptionex)
{
Response.Write(ex.Message);
}
finally
{

}
12下一页阅读全文

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章