The XML produced by serializing array types using the MethodInvocationSerializer class produces repeated XML tags. For example, the data type of the array elements is repeated in the XML of every element...
<Data>
<ElementDataType>integer</ElementDataType>
<Element>
<DataType>integer</DataType>
<Data>123</Data>
</Element>
<Element>
<DataType>integer</DataType>
<Data>-456</Data>
</Element>
</Data>
This was a conscious design decision to allow the code which serialized and deserialzed individual objects to be reused to serialize arrays of the same objects. However the expense is more verbose XML, and it would be good to somehow improve this.