现在的位置: 首页 > 综合 > 正文

C# 对象XML序列化

2012年03月17日 ⁄ 综合 ⁄ 共 1070字 ⁄ 字号 评论关闭
代码

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;
    }
}

 

抱歉!评论已关闭.