public static string Serialize(object obj)
{
try
{
byte[] encodedBytes;
using(MemoryStream outputStream = new MemoryStream())
using(XmlWriter xmlWriter = XmlWriter.Create(outputStream, xmlWriterSettings))
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
// Set the error handlers.
serializer.UnknownNode += serializer_UnknownNode;
serializer.UnknownElement += serializer_UnknownElement;
serializer.UnknownAttribute += serializer_UnknownAttribute;
serializer.Serialize(xmlWriter, obj);
encodedBytes = outputStream.ToArray();
}
return xmlWriterSettings.Encoding.GetString(encodedBytes, 0, encodedBytes.Length);
}
catch(Exception ex)
{
Tracer.ErrorFormat("Error serializing object: {0}", ex.Message);
return null;
}
}