C# 对象XML序列化

代码
using System;
using System.Xml;
using System.Xml.Serialization;
using System.Text;
using System.IO;
public class Util
{
    
/// <summary>
    
/// 对象序列化成 XML String
    
/// </summary>
    public static string XmlSerialize<T>(T obj)
    {
        
string xmlString = string.Empty;
        XmlSerializer xmlSerializer 
= new XmlSerializer(typeof(T));
        
using (MemoryStream ms = new MemoryStream())
        {
            xmlSerializer.Serialize(ms, obj);
            xmlString 
= Encoding.UTF8.GetString(ms.ToArray());
        }
        
return xmlString;
    }

    
/// <summary>
    
/// XML String 反序列化成对象
    
/// </summary>
    public static T XmlDeserialize<T>(string xmlString)
    {
        T t 
= default(T);
        XmlSerializer xmlSerializer 
= new XmlSerializer(typeof(T));
        
using (Stream xmlStream = new MemoryStream(Encoding.UTF8.GetBytes(xmlString)))
        {
            
using (XmlReader xmlReader = XmlReader.Create(xmlStream))
            {
                Object obj 
= xmlSerializer.Deserialize(xmlReader);
                t 
= (T)obj;
            }
        }
        
return t;
    }
}

 

posted on 2011-01-25 17:12  大豆男生  阅读(2687)  评论(2编辑  收藏  举报

导航