zoukankan      html  css  js  c++  java
  • XmlHelper

      private static XmlWriterSettings GetSettings()
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent = true;
                settings.NewLineChars = "
    ";
                settings.Encoding = Encoding.UTF8;
                return settings;
            }
    
            public static T ConvertToObject<T>(string filePath)
            {
                return ConvertToObject<T>(null, filePath);
            }
    
            public static T ConvertToObject<T>(Type instanceType, string filePath)
            {
                XmlSerializer ser = (instanceType == null) ? new XmlSerializer(typeof(T)) : new XmlSerializer(instanceType);
                XmlReader reader = XmlTextReader.Create(filePath);
    
                T instance;
                instance = (T)ser.Deserialize(reader);
                reader.Close();
    
                return instance;
            }
    
            public static void SaveToFile<T>(T instance, string filePath)
            {
                XmlSerializer ser = new XmlSerializer(typeof(T));
                XmlWriter writer = XmlTextWriter.Create(filePath, GetSettings());
                ser.Serialize(writer, instance);
                writer.Close();
                writer.Flush();
            }
            public static string SerializeToXml(object value)
            {
                if (value == null)
                    return "";
                string result = string.Empty;
                if (value is string)
                {
                    return value.ToString();
                }
    
                try
                {
                    StringBuilder sb = new StringBuilder(1000);
                    XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();
                    xmlns.Add(string.Empty, string.Empty);
    
                    XmlSerializer ser = new XmlSerializer(value.GetType());
                    using (TextWriter writer = new StringWriter(sb))
                    {
                        ser.Serialize(writer, value,xmlns);
                        result = writer.ToString();
                    }
                }
                catch
                {
                }
    
                return result;
            }
    

      

  • 相关阅读:
    编写安全有效的 C# 代码
    模式匹配
    C#新特性
    转 C# .NET4.0 混合模式程序集异常
    win7 64位系统 注册 ocx控件
    TIFF图像文件格式详解
    GDALOGR读取数据示例 C#版本
    使用gdal C#封装库读取DEM数据
    编译C#环境下GDAL(支持HDF4、NetCDF)
    UML类图符号 各种关系说明以及举例
  • 原文地址:https://www.cnblogs.com/Wolfmanlq/p/4556739.html
Copyright © 2011-2022 走看看