/// <summary>
/// Deserializes XML string into object.
/// </summary>
/// <param name="source">XML string.</param>
/// <param name="typeInfo">Object type info.</param>
/// <returns>Deserialized object.</returns>
public static object DeserializeObjectFromXml(string source, Type typeInfo)
{
if (string.IsNullOrEmpty(source))
{
return(null);
}
XmlSerializer serializer = new XmlSerializer(typeInfo);
StringReader sourceReader = null;
System.Xml.XmlReader reader = null;
try
{
sourceReader = new StringReader(source);
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = null;
reader = System.Xml.XmlReader.Create(sourceReader, settings);
sourceReader = null;
return(serializer.Deserialize(reader));
}
finally
{
if (reader != null)
{
reader.Dispose();
}
if (sourceReader != null)
{
sourceReader.Dispose();
}
}
}