Lists
Overview
                Lists are similar to arrays in WOX. A List in WOX is the equivalent to java.util.ArrayList 
                in Java, and System.Collections.ArrayList in C#, as can be seen in the Data types
                mapping section. A List is represented in a unique way, which means that it can be de-serialized 
                either to Java or C#.                
                
The code for the example in this section is provided in both Java and C#.
The Course class
                This is the Course class, which has three fields: code
                of type int, name of type string, 
                and term of type int.
                
//Java
public class Course {
    private int code;
    private String name;
    private int term;
    //constructors and methods omitted
}
//C#
public class Course {
    private In32 code;
    private String name;
    private Int32 term;
    //constructors and methods omitted
}
                
                Serializing a list of Course objects to XML
                A list of four Course objects is created below.
                
//Java ArrayList list = new ArrayList(); list.add(new Course(6756, "XML and Related Technologies", 3)); list.add(new Course(9865, "Object Oriented Programming", 2)); list.add(new Course(1134, "E-Commerce Programming", 2)); list.add(new Course(4598, "Enterprise Component Architecture", 3));
//C# ArrayList list = new ArrayList(); list.Add(new Course(6756, "XML and Related Technologies", 3)); list.Add(new Course(9865, "Object Oriented Programming", 2)); list.Add(new Course(1134, "E-Commerce Programming", 2)); list.Add(new Course(4598, "Enterprise Component Architecture", 3));
                We use the save method of the Easy class to serialize the
                list of Course objects to XML, and store it to the specified file.
                
In Java you will require woxSerializer.jar and jdom.jar files in the classpath. In C# you will require woxSerializer.dll.
//Java String filename = "listCourses.xml"; Easy.save(list, filename);
//C# String filename = "listCourses.xml"; Easy.save(list, filename);
The XML representation of the list is shown below.
<object type="list" elementType="Object" length="4" id="0">
    <object type="Course" id="1">
        <field name="code" type="int" value="6756" />
        <field name="name" type="string" value="XML and Related Technologies" />
        <field name="term" type="int" value="3" />
    </object>
    <object type="Course" id="2">
        <field name="code" type="int" value="9865" />
        <field name="name" type="string" value="Object Oriented Programming" />
        <field name="term" type="int" value="2" />
    </object>
    <object type="Course" id="3">
        <field name="code" type="int" value="1134" />
        <field name="name" type="string" value="E-Commerce Programming" />
        <field name="term" type="int" value="2" />
    </object>
    <object type="Course" id="4">
        <field name="code" type="int" value="4598" />
        <field name="name" type="string" value="Enterprise Component Architecture" />
        <field name="term" type="int" value="3" />
    </object>
</object>
                
                The root is an object element, which is the list of four Course
                objects. Each course has its type, and id attributes, and its three 
                fields (children): code, name, and term. Every field specifies its 
                name, type, and value attributes. 
                The XML is simple.
                
De-serializing a list of Course objects back from XML
                Since the list is not specific to Java or C#, we can use the load method of 
                the Easy class de-seralize the list back from XML either to Java or C#.
                Note that WOX in Java does not require the Course class 
                to have a default constructor; but WOX in C# does.
                
//Java ArrayList newList = (ArrayList)Easy.load(filename);
//C# ArrayList newList = (ArrayList)Easy.load(filename);
The list has been reconstructed and you can now iterate to display its elements.

