Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
                }
            }
        }