XmlHelper
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;
}
如果您觉得本文对你有用,不妨帮忙点个赞,或者在评论里给我一句赞美,小小成就都是今后继续为大家编写优质文章的动力!
欢迎您持续关注我的博客:)
版权所有,欢迎保留原文链接进行转载:)
浙公网安备 33010602011771号