zoukankan      html  css  js  c++  java
  • XML Serialize/Deserialize

    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Web;
    using System.Xml;
    using System.Xml.Serialization;
    
    namespace Common
    {
        public class XmlConverter
        {
            public static string Serialize<T>(T obj)
            {
                //XmlSerializer serializer = new XmlSerializer(typeof(T));
    
                //StringWriter writer = new StringWriter(CultureInfo.InvariantCulture);
                //serializer.Serialize(writer, obj);
                //string xml = writer.ToString();
                //writer.Close();
                //writer.Dispose();
    
                //return xml;
                string OutputXmlString = string.Empty;
                using (MemoryStream ms = new MemoryStream())
                {
                    var setting = new XmlWriterSettings()
                    {
                        Encoding = new UTF8Encoding(false),
                        Indent = true,
                    };
                    using (XmlWriter writer = XmlWriter.Create(ms, setting))
                    {
                        XmlSerializer xmlSearializer = new XmlSerializer(typeof(T));
                        xmlSearializer.Serialize(writer, obj);
                        OutputXmlString = Encoding.UTF8.GetString(ms.ToArray());
                    }
                }
                return OutputXmlString;
         }
    
            public static T Deserialize<T>(string xml)
            {
                //XmlSerializer serializer = new XmlSerializer(typeof(T));
                //StringReader reader = new StringReader(xml);
                //T result = (T)(serializer.Deserialize(reader));
                //reader.Close();
                //reader.Dispose();
    
                //return result;
                using (MemoryStream MS = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
                {
                    using (XmlReader xr = XmlReader.Create(MS))
                    {
                        XmlSerializer xmlSearializer = new XmlSerializer(typeof(T));
                        return (T)xmlSearializer.Deserialize(xr);
                        
                    }
                }
            }
        }
    }
  • 相关阅读:
    Android中的Handler, Looper, MessageQueue和Thread
    ANR程序无响应原因及应对办法
    避免内存泄露的一些简单方法
    android内存泄露及OOM介绍
    listview异步加载图片优化
    利用convertView及viewHolder优化Adapter
    Sqlite介绍及其语句
    关于单页面和传统页面跳转的思考
    快速入门Vue
    JS编码
  • 原文地址:https://www.cnblogs.com/cicada/p/10868272.html
Copyright © 2011-2022 走看看