public static void SerializeObject(object doc,string strFullPath)
{
XmlSerializer serializer = new XmlSerializer(doc.GetType());
Stream fs = new FileStream(strFullPath, FileMode.Create);
XmlWriter writer = new XmlTextWriter(fs, new UTF8Encoding());
serializer.Serialize(writer,doc);
writer.Close();
fs.Close();
}
以上方法是将一个类序例化成一个文件,我想把它改成序列化成一个字符串并返回,
怎么实现啊?
public static string SerializeObject(object doc,string strFullPath)
{
......
}
{
XmlSerializer serializer = new XmlSerializer(doc.GetType());
Stream fs = new FileStream(strFullPath, FileMode.Create);
XmlWriter writer = new XmlTextWriter(fs, new UTF8Encoding());
serializer.Serialize(writer,doc);
writer.Close();
fs.Close();
}
以上方法是将一个类序例化成一个文件,我想把它改成序列化成一个字符串并返回,
怎么实现啊?
public static string SerializeObject(object doc,string strFullPath)
{
......
}
public static void SerializeObject(object doc)
{
XmlSerializer serializer = new XmlSerializer(doc.GetType()); System.Text.StringBuilder sb = new StringBuilder(); System.IO.StringWriter wr = new StringWriter(sb); serializer.Serialize(wr,doc); wr.Close(); return sb.ToString();
}
/// 序列化成字符串
/// </summary>
/// <returns>序列化后的字符串</returns>
public static string Serialiaze(object obj)
{
XmlSerializer xs = new XmlSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
XmlTextWriter xtw = new XmlTextWriter(ms, Encoding.UTF8);
xtw.Formatting = Formatting.Indented;
xs.Serialize(xtw, obj);
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string str = sr.ReadToEnd();
xtw.Close();
sr.Close();
ms.Close();
return str;
}
/// <summary>
/// 反序列化从字符串
/// </summary>
/// <param name="xml">xml 字符串</param>
/// <param name="type">要生成的对象类型</param>
/// <returns>反序列化后的对象</returns>
public static object Deserialize(string xml, Type type)
{
XmlSerializer xs = new XmlSerializer(type);
StringReader sr = new StringReader(xml);
object obj = xs.Deserialize(sr);
sr.Close();
return obj;
}