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

        利用泛型实现XML的序列化与反序列化。

        1、序列化

            /// <summary>
            /// 将一个对象序列化为string
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="o">待序列化的对象</param>
            /// <returns>序列化后的字符串</returns>
            public static string ToXmlString<T>(T o)
            {
                XmlSerializer xs = new XmlSerializer(typeof(T));
                XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();
                xmlns.Add(String.Empty, String.Empty);
                string result = string.Empty;
                using (StringWriter sw = new StringWriter())
                {
                    xs.Serialize(sw, o, xmlns);
                    result = sw.ToString();
                }
                return result;
            }

        2、反序列化

            /// <summary>
            /// 将string反序列化为一个对象
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="xmlString">待反序列化的字符串</param>
            /// <returns>反序列化后的对象</returns>
            public static T FromXmlString<T>(string xmlString) where T : class
            {
                T result = default(T);
                if (string.IsNullOrWhiteSpace(xmlString))
                {
                    return result;
                }
                XmlSerializer xs = new XmlSerializer(typeof(T));
    
                using (StringReader sr = new StringReader(xmlString))
                {
                    result = xs.Deserialize(sr) as T;
                }
                return result;
            }
  • 相关阅读:
    Maven
    Mybatis
    WinDbg的安装、配置和功能(转发)
    gRPC —— gRPC 基础: C#(待续)
    gRPC —— 通讯协议
    gRPC —— 安全认证
    gRPC —— 概念
    gRPC —— 概览
    grpc和protocol buffer介绍&实例(转载)
    protocol buffers ——git 源码
  • 原文地址:https://www.cnblogs.com/huatao/p/4689245.html
Copyright © 2011-2022 走看看