1public class Serializer<T>
2 {
3 /// <summary>
4 /// Converts the XML into an object
5 /// </summary>
6 /// <param name="xml">The XML representation of an object.</param>
7 /// <returns>An object of type T.</returns>
8 public static T Deserialize(string xml)
9 {
10 // convert to the serializable object
11 T item;
12
13 using (StringReader reader = new StringReader(xml))
14 {
15 XmlSerializer serializer = new XmlSerializer(typeof(T));
16 item = (T)serializer.Deserialize(reader);
17 }
18
19 return item;
20 }
21
22 /// <summary>
23 /// Converts an object into XML.
24 /// </summary>
25 /// <param name="obj">The object to convert.</param>
26 /// <returns>The XML representation of the object.</returns>
27 public static string Serialize(T obj)
28 {
29 StringBuilder data = new StringBuilder();
30
31 using (StringWriter writer = new StringWriter(data))
32 {
33 XmlSerializer serializer = new XmlSerializer(typeof(T));
34 serializer.Serialize(writer, obj);
35 }
36
37 return data.ToString();
38 }
39 }