zoukankan      html  css  js  c++  java
  • 序列化 与 反序列化

     #region 反序列化
    
            /// <summary>
            /// 反序列化
            /// </summary>
            /// <param name="type">类型</param>
            /// <param name="xml">XML字符串</param>
            /// <returns></returns>
            public static object Deserialize(Type type, XmlDataDocument xmlDataDocument)
            {
                try
                {
                    string xml = xmlDataDocument.InnerXml.ToString();
                    using (StringReader sr = new StringReader(xml))
                    {
                        XmlSerializer xmldes = new XmlSerializer(type);
                        return xmldes.Deserialize(sr);
                    }
                }
                catch (Exception e)
                {
                    return null;
    
                }
    
            }
    
            /// <summary> 
            /// 反序列化 
            /// </summary> 
            /// <param name="type"></param> 
            /// <param name="xml"></param> 
            /// <returns></returns> 
            public static object Deserialize(Type type, Stream stream)
            {
                XmlSerializer xmldes = new XmlSerializer(type);
                return xmldes.Deserialize(stream);
            }
            #endregion
    
            #region 序列化XML文件
            /// <summary> 
            /// 序列化XML文件 
            /// </summary> 
            /// <param name="type">类型</param> 
            /// <param name="obj">对象</param> 
            /// <returns></returns> 
    
            public static string Serializer(Type type, object obj)
            {
                MemoryStream Stream = new MemoryStream();
                //创建序列化对象 
                XmlSerializer xml = new XmlSerializer(type);
                try
                {
                    //序列化对象 
                    xml.Serialize(Stream, obj);
                }
                catch (InvalidOperationException)
                {
                    throw;
                }
                Stream.Position = 0;
                StreamReader sr = new StreamReader(Stream);
                string str = sr.ReadToEnd();
                return str;
    
            }
            #endregion
    
            #region 将XML转换为DATATABLE
            /// <summary> 
            /// 将XML转换为DATATABLE 
            /// </summary> 
            /// <param name="FileURL"></param> 
            /// <returns></returns> 
            public static DataTable XmlAnalysisArray()
            {
    
                try
                {
                    string FileURL = System.Configuration.ConfigurationManager.AppSettings["Client"].ToString();
                    DataSet ds = new DataSet();
                    ds.ReadXml(FileURL);
                    return ds.Tables[0];
                }
                catch (Exception ex)
                {
                    System.Web.HttpContext.Current.Response.Write(ex.Message.ToString());
                    return null;
                }
            }
            #endregion
    
    
    
            #region 获取对应XML节点的值
    
            /// <summary> 
            /// 摘要:获取对应XML节点的值 
            /// </summary> 
            /// <param name="stringRoot">XML节点的标记</param> 
            /// <returns>返回获取对应XML节点的值</returns> 
            public static string XmlAnalysis(string stringRoot, string xml)
            {
    
                if (stringRoot.Equals("") == false)
                {
                    try
                    {
                        XmlDocument XmlLoad = new XmlDocument();
                        XmlLoad.LoadXml(xml);
                        return XmlLoad.DocumentElement.SelectSingleNode(stringRoot).InnerXml.Trim();
                    }
                    catch (Exception ex)
                    {
                    }
                }
                return "";
            }
            #endregion 
  • 相关阅读:
    AngularJS入门教程
    mobile web retina 下 1px 边框解决方案
    Python字典猜解
    20145313exp9
    20145313张雪纯Exp8 Web基础
    20145313张雪纯exp7
    20145313张雪纯信息搜集与漏洞扫描
    计算机病毒静态分析2
    计算机病毒静态分析1
    20145313张雪纯MSF基础应用实验
  • 原文地址:https://www.cnblogs.com/gaoshuai/p/2989056.html
Copyright © 2011-2022 走看看