C# 實體類序列化與反序列化一 (XmlSerializer)
/// <summary>
/// 實體類序列化的反序列化的類
/// </summary>
/// <typeparam name="T"></typeparam>
public abstract class EntityClassXmlSerializer<T>
{
/// <summary>
/// 實體類序列化成xml string
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public static string ToXMLString(T entity)
{
using (MemoryStream stream = new MemoryStream())
{
XmlTextWriter writer = new XmlTextWriter(stream, null);
XmlSerializer xml = new XmlSerializer(entity.GetType());
xml.Serialize(writer, entity);
writer.Formatting = Formatting.Indented;
using (StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8))
{
stream.Position = 0;
string xmlString = sr.ReadToEnd();
sr.Close();
stream.Close();
return xmlString;
}
}
}
/// <summary>
/// 實體類反序列化
/// </summary>
/// <param name="xml"></param>
/// <returns></returns>
public static T ReadFromXML(string xml)
{
T entity;
byte[] byts = Encoding.UTF8.GetBytes(xml);
using (MemoryStream stream = new MemoryStream(byts))
{
XmlSerializer xs = new XmlSerializer(typeof(T));
entity = (T)xs.Deserialize(stream);
return entity;
}
}
}
本文是同事亮哥所寫
相關文章
- C# XmlSerializer實現序列化淺析(轉載)C#XML
- C# 實體類序列化與反序列化二 (DataContractSerializer)C#
- 實體類與XML序列化與反序列化XML
- C# Json 序列化與反序列化一C#JSON
- c#序列化與反序列化概述C#
- C# 序列化與反序列化jsonC#JSON
- C# 實現複雜物件的序列化與反序列化C#物件
- 實體類為啥要序列化
- C# Json 序列化與反序列化二C#JSON
- C#中物件的序列化與反序列化C#物件
- 在C#中實現Json的序列化與反序列化C#JSON
- c#.net實體類序列化方法 為什麼要序列化C#
- c#序列化C#
- C# - XML讀寫與序列化C#XML
- 序列化與反序列化
- 一行程式碼實現iOS序列化與反序列化行程iOS
- C# 檢視序列化的實體位元組數C#
- C#序列化和反序列化(json)C#JSON
- 序列化與反序列化(GO)Go
- C# 序列化(總)C#
- SimpleRpc-序列化與反序列化的設計與實現RPC
- Java的序列化與反序列化Java
- Java--序列化與反序列化Java
- php中序列化與反序列化PHP
- 關於序列化與反序列化的一些思考
- C# 三種序列化C#
- 泛型類序列化泛型
- gym序列化、EzPickle類
- jackson序列化與反序列化的應用實踐
- java 序列化與反序列化例項Java
- .net序列化與反序列化總結
- Java中的序列化與反序列化Java
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- C#複雜XML反序列化為實體物件兩種方式C#XML物件
- JSON繼承JsonConverter序列化與反序列化重寫類屬性JSON繼承
- Flutter中JSON序列化與反序列化FlutterJSON
- Django REST framework 序列化與反序列化(4)DjangoRESTFramework
- Java序列化(Serializable)與反序列化詳解Java