Quantcast
Channel: How to? XML Serialization of a Class Object - Stack Overflow
Viewing all articles
Browse latest Browse all 3

How to? XML Serialization of a Class Object

$
0
0

I am trying to Serialize a Class object and store the xml in a string but each time I get an exception message "There was an error generating xml document"

The class object I am trying to serialize is of class:

[XmlRoot("FlowOfTask")] public class Flow{    int _CurrHop = 0;    [XmlElement("CurrentHop")]    public int CurrentHop    {        get { return _CurrHop; }        set { _CurrHop = value; }    }    int _TotalHops = 0;    [XmlElement("TotalHops")]    public int TotalHops    {        get { return _TotalHops; }    }    private List<tblTaskHop> _TaskHops;    [System.Xml.Serialization.XmlArrayItemAttribute(ElementName = "Hop",    IsNullable = false)]    public List<tblTaskHop> TaskHops    {        get { return _TaskHops; }    }    public Flow()    {    }    public Flow(Int64 TaskID, Int64 RoleID)    {        _TaskHops = HandleDB.tblTaskHopGetByTaskIDRoleID(TaskID, RoleID);        _TotalHops = TaskHops.Count;    }}

I am using this function to serialize.

public static string SerializeAnObject(object item){    try    {        string xmlText;        //Get the type of the object        Type objectType = item.GetType();        //create serializer object based on the object type        XmlSerializer xmlSerializer = new XmlSerializer(objectType);        //Create a memory stream handle the data        MemoryStream memoryStream = new MemoryStream();        //Create an XML Text writer to serialize data to        using (XmlTextWriter xmlTextWriter =            new XmlTextWriter(memoryStream, Encoding.UTF8) { Formatting = Formatting.Indented })        {            //convert the object to xml data            xmlSerializer.Serialize(xmlTextWriter, item);            //Get reference to memory stream            memoryStream = (MemoryStream)xmlTextWriter.BaseStream;            //Convert memory byte array into xml text            xmlText = new UTF8Encoding().GetString(memoryStream.ToArray());            //clean up memory stream            memoryStream.Dispose();            return xmlText;        }    }    catch (Exception e)    {        MessageBox.Show(e.Message);        return null;    }}

Can anyone help me why I am not able to serialize this class object?


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images