/// <summary> /// 返回序列化XML到指定对象 /// </summary> /// <typeparam name="T">序列化对象类型</typeparam> /// <param name="stream">数据流</param> /// <param name="encoding">编码格式</param> /// <returns>返回反序列化后的对象实例</returns> public static T Deserialize <T>(Stream stream, Encoding encoding) { XmlSerializer xs = new XmlSerializer(typeof(T)); using (CloseableStreamReader reader = new CloseableStreamReader(stream, encoding)) { T result = (T)xs.Deserialize(reader); return(result); } }
/// <summary> /// 返回序列化XML到指定对象 /// </summary> /// <typeparam name="T">序列化对象类型</typeparam> /// <param name="builder">数据流</param> /// <returns>返回反序列化后的对象实例</returns> public static T Deserialize <T>(StringBuilder builder) { XmlSerializer xs = new XmlSerializer(typeof(T)); using (MemoryStream s = new MemoryStream(new UTF8Encoding(false).GetBytes(builder.ToString()))) { using (CloseableStreamReader reader = new CloseableStreamReader(s, new UTF8Encoding(false))) { T result = (T)xs.Deserialize(reader); return(result); } } }