Common .Net Library Methods: Easy XML Serialization and deserialization
Serializing XML to an object of a given type and back has been very common in a lot of my projects. It may not be allowable when you are working on multiple projects in different groups to import a common class library so I thought I'd post some basic serialization code generic to most projects that I have had to use a lot lately.
/// <summary> /// Deserializes an XML document into a given type. /// </summary> /// <typeparam name="T">The type to deserialize.</typeparam> /// <param name="xml"> The xml. </param> /// <returns> An object representative of the XML document. </returns> public T Deserialize<T>(string xml) { var xmlSerializer = new XmlSerializer(typeof(T)); using (var reader = XmlReader.Create(new StringReader(xml))) { if (xmlSerializer.CanDeserialize(reader)) { return (T)xmlSerializer.Deserialize(reader); } } return default(T); }
/// <summary> /// Serializes an object into an XML document. /// </summary> /// <param name="path"> The path. </param> /// <param name="o"> The object to serialize. </param> public void Serialize(string path, object o) { using (var writer = new StreamWriter(path)) { new XmlSerializer(o.GetType()).Serialize(writer, o); } }
Comments
Post a Comment