Anatoly Lubarsky Logo
MSSQL, .NET, Design. Life and Music

How to Serialize One-to-Many

In .NET it is fairly easy to serialize some custom object (for example Order) to XML. Need just to use attributes provided by System.Xml.Serialization correctly:


  • Serializable
  • XmlElement
  • XmlAttribute

However, it is less trivial to serialize a composite object, each instance of which may have an array of another custom object type as property (one-to-many relation). For example Order and OrderItem. Hint - use Type attribute and call the property - ArrayOf.... For example, Order can be defined like so:


    [Serializable]
    public class Order
    {
        public Order()
        {

        }


        private int orderId;
        private DateTime orderDate = DateTime.MinValue;
        private OrderItem[] arrayOfOrderItem;


        [XmlElement(ElementName = "OrderId")]
        public int OrderId
        {
            get { return orderId; }
            set { orderId = value; }
        }

        [XmlElement(ElementName = "OrderDate")]
        public DateTime OrderDate 
        {
            get { return orderDate; }
            set { orderDate = value; }
        }

        [XmlElement(ElementName = "ArrayOfOrderItem", Type = typeof(OrderItem[]))]
        public OrderItem[] ArrayOfOrderItem
        {
            get { return arrayOfOrderItem; }
            set { arrayOfOrderItem = value; }
        }
    }

OrderItem needs to be defined as Serializable also. Enjoy.


Related Posts:

Monday, March 19, 2007 12:58 AM



Login

Fosimo
Get Fosimo on CNET Download.com!
Fosimo.TR
Get Fosimo.TR from CNET Download.com!
Subscribe via RSS

Article Categories

.Net Framework
ASP.NET Tips
C# Win32 API
HTML, CSS, Web
Javascript Tips
MSSQL Tips
System
System.Net
WebServices

Archives

(01) June, 2010
(01) May, 2010
(02) March, 2010
(01) January, 2010
(02) December, 2009
(03) September, 2009
(03) August, 2009
(09) July, 2009
(04) June, 2009
(04) May, 2009
(02) April, 2009
(05) March, 2009
(03) February, 2009
(03) January, 2009
(06) December, 2008
(04) November, 2008
(06) October, 2008
(07) September, 2008
(09) August, 2008
(05) July, 2008
(05) June, 2008
(07) May, 2008
(06) April, 2008
(03) March, 2008
(02) February, 2008
(04) January, 2008
(03) December, 2007
(05) November, 2007
(06) October, 2007
(07) September, 2007
(13) August, 2007
(11) July, 2007
(14) June, 2007
(16) May, 2007
(14) April, 2007
(10) March, 2007
(17) February, 2007
(21) January, 2007
(17) December, 2006
(14) November, 2006
(13) October, 2006
(13) September, 2006
(14) August, 2006
(12) July, 2006
(11) June, 2006
(12) May, 2006
(22) April, 2006
(36) March, 2006
(14) February, 2006
(14) January, 2006
(20) December, 2005
(17) November, 2005
(17) October, 2005
(17) September, 2005
(14) August, 2005
(18) July, 2005
(12) June, 2005
(17) May, 2005
(13) April, 2005
(22) March, 2005
(12) February, 2005
(14) January, 2005
(19) December, 2004
(15) November, 2004
(13) October, 2004
(16) September, 2004
(12) August, 2004
(29) July, 2004
(25) June, 2004
(33) May, 2004
(26) April, 2004
(18) March, 2004
(11) February, 2004
(07) January, 2004
(03) December, 2003
(02) November, 2003

Post Categories

.Net and C#
Antispam
App. Development
Architecture
ASP.NET
Blogging
del.icio.us
Fosimo
Fun
Google
Javascript
Misc.
MSSQL
Music
Performance
Roller
Social Networks
Tools
Visual Studio
Web 2.0
WebServices
Yahoo

About Me

linkedin Profile
Recs
Recs Books
Who am I

My Sites

onecone
x2line blogs