private
static string
XmlSerialize(T obj)
{
var stream
= new MemoryStream();
var writer
= new XmlTextWriter(stream,
Encoding.ASCII);
XmlSerializer
ser = new XmlSerializer(typeof(T));
ser.Serialize(writer, obj);
stream = (MemoryStream)writer.BaseStream;
var bytes =
stream.ToArray();
var
encoding = new UTF8Encoding();
string
result = encoding.GetString(bytes);
return
result;
}
private
static T XmlDeserialize(string xml)
{
XmlSerializer
xs = new XmlSerializer(typeof(T));
UTF8Encoding
encoding = new UTF8Encoding();
Byte[]
byteArray = encoding.GetBytes(xml);
MemoryStream
memoryStream = new MemoryStream(byteArray);
XmlTextWriter
xmlTextWriter = new XmlTextWriter(memoryStream,
Encoding.UTF8);
object obj
= xs.Deserialize(memoryStream);
return (T)obj;
}