asp.net xml序列化与反序列化第1/2页
程序员文章站
2022-11-12 23:42:50
在网上找了一些关于xml序列化与反序列化的资料,摘录下: 在.net下有一种技术叫做对象...
在网上找了一些关于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
{
}
在.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