Код Serialize / Deserialize, предложенный Марком, никак не связан с вашим объектом Apple.
Поэтому я бы предложил объявить их статическими, сделать их немного более общими и поместить их в некоторый служебный класс. Вот так:
class Util
{
public static string SerializeToXml<T>(T o) where T: class
{
using (var sw = new StringWriter())
{
var ser = new XmlSerializer(typeof(T));
ser.Serialize(sw, o);
return sw.ToString();
}
}
public static T DeserializeFromXml<T>(string xml) where T: class
{
using (var sr = new StringReader(xml))
{
var ser = new XmlSerializer(typeof(T))
return ser.Deserialize(sr) as T;
}
}
}