zoukankan      html  css  js  c++  java
  • exercise: 序列化和反序列化Xml --CSharp

     

        class XmlHelper
        {
    
    
            public XmlHelper()
            {
            }
    
    
    
            /// <summary>
            /// 读取 xml 文件内容
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="fileName"></param>
            /// <returns></returns>
            public static T Load<T>(string fileName)
            {
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
    
                using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    return (T)xmlSerializer.Deserialize(fs);
                }
            }
    
            /// <summary>
            /// 写入 xml 文件
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="fileName"></param>
            /// <param name="data"></param>
            public static void Write<T>(string fileName, T data)
            {
                XmlWriterSettings settings = new XmlWriterSettings
                {
                    Indent = true,
                    IndentChars = "    ",
                    NewLineChars = Environment.NewLine,
                    Encoding = Encoding.UTF8
                };
    
                XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                ns.Add(string.Empty, string.Empty);
    
                using (var fs = new FileStream(fileName, FileMode.Truncate, FileAccess.Write))
                {
                    using (XmlWriter writer = XmlWriter.Create(fs, settings))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(T));
                        serializer.Serialize(writer, data, ns);
                    }
                }
            }
    
        }
    
     
        class SomeXmlConfig
        {
    
            [XmlElement("hello")]
            public string Hello { get; set; }
    
            [XmlElement("world")]
            public string World { get; set; }
    
    
            public SomeXmlConfig()
            {
            }
    
        }

    --- THE END ---

  • 相关阅读:
    linux mint 17编译android 2.3.1错误记录
    android字母索引实现ListView定位
    android实现emoji输入
    shell管道与重定向
    c3p0配置记录
    ubuntu13 eclipse菜单栏失效解决
    Proxy实现java动态代理
    ubuntu13启动屏幕亮度0解决方法
    cookie和session笔记
    linux mysql中文乱码解决
  • 原文地址:https://www.cnblogs.com/shadow-abyss/p/14302506.html
Copyright © 2011-2022 走看看