private static XmlWriterSettings GetSettings()
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.NewLineChars = "\n";
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;
}
如果您覺得本文對你有用,不妨幫忙點個贊,或者在評論裡給我一句贊美,小小成就都是今後繼續為大家編寫優質文章的動力!
歡迎您持續關注我的部落格:)
作者:Ken Wang
出處:http://www.cnblogs.com/Wolfmanlq/
版權所有,歡迎保留原文連結進行轉載:)