/// Helper class for serializing / deserializing
/// var helper=new XmlSerializerHelper();
/// object
public class XmlSerializerHelper
{
public Type _type;
public XmlSerializerHelper()
{
_type = typeof(T);
}
/// Returns serialized xml string
public string GetXml(object objectToSerialize)
{
if (objectToSerialize == null)
{
return string.Empty;
}
else
{
var stringWriter = new StringWriter();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = false;
using (XmlWriter writer = XmlWriter.Create(stringWriter, settings))
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add(string.Empty, string.Empty);
XmlSerializer xmlSerializer = new XmlSerializer(objectToSerialize.GetType());
xmlSerializer.Serialize(writer, objectToSerialize, ns);
return stringWriter.ToString();
}
}
}
/// Returns deserialized object instance from xml
/// xml string from data record
/// object T
public T GetObject(string xmlString)
{
T result;
var reader = new StringReader(xmlString);
XmlSerializer serializer = new XmlSerializer(_type);
result = (T)serializer.Deserialize(reader);
return result;
}
}