惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
M
MIT News - Artificial intelligence
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
Engineering at Meta
Engineering at Meta
Martin Fowler
Martin Fowler
H
Help Net Security
B
Blog
Y
Y Combinator Blog
小众软件
小众软件
S
SegmentFault 最新的问题
I
InfoQ
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
D
Docker
博客园 - 【当耐特】
J
Java Code Geeks
阮一峰的网络日志
阮一峰的网络日志

博客园 - 情走边锋

(摘)设置FCKeditor回车换行方式 JBossESB问题记录 jstl fmt功能说明 oracle中number类型说明 解决通过createElement创建出来的radio无法选中的问题 asp.net C# 中使用timestamp 编码 GBK 的不可映射字符 解决办法 asp.net中SQL注入的解决办法 - 情走边锋 - 博客园 SQL2005部署报表:用户IUSER_ 授予的权限不足的问题 发现一个网页幻灯制作的东西HTML Slidy AS无法连接,由于目标机积极拒绝,无法连接。127.0.0.1:2382(system) Android中ActivityManager: Error: Activity class {XXX} does not exist的问题 windows上安装postgresql OpenBSD4.0下安装samba IE6无法正常显示VML Linux下Makefile的automake生成全攻略 随记 C++中的头文件 开始Bro之旅
序列化与反序列化
情走边锋 · 2007-06-11 · via 博客园 - 情走边锋

在discuz NT中看到的
xml与object之间的序列化与反序列化

        /// <summary>
        
/// 反序列化
        
/// </summary>
        
/// <param name="type">对象类型</param>
        
/// <param name="filename">文件路径</param>
        
/// <returns></returns>

        public static object Load(Type type, string filename)
        
{
            FileStream fs 
= null;
            
try
            
{
                
// open the stream
                fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                XmlSerializer serializer 
= new XmlSerializer(type);
                
return serializer.Deserialize(fs);
            }

            
catch(Exception ex)
            
{
                
throw ex;
            }

            
finally
            
{
                
if(fs != null)
                    fs.Close();
            }

        }



        
/// <summary>
        
/// 序列化
        
/// </summary>
        
/// <param name="obj">对象</param>
        
/// <param name="filename">文件路径</param>

        public static void Save(object obj, string filename)
        
{
            FileStream fs 
= null;
            
// serialize it
            try
            
{
                fs 
= new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
                XmlSerializer serializer 
= new XmlSerializer(obj.GetType());
                serializer.Serialize(fs, obj);    
            }

            
catch(Exception ex)
            
{
                
throw ex;
            }

            
finally
            
{
                
if(fs != null)
                    fs.Close();
            }


        }