Hi,
I suppose you either need to implement IXmlSerializable in MyClass, or make
the class Fields as a collection.
"Yash Ganthe" <yashgt@newsgroup> wrote in message
news:95a32c1f-df23-4221-a775-fe92a50f3c28@newsgroup
> Hi,
>
> I have the follwoing class structure:
>
> public class MyClass {
> public Fields Fields;
> }
>
> public partial class Fields {
>
> public BaseField[] myFields;
>
> }
>
> [System.Xml.Serialization.XmlInclude(typeof(DerivedField))]
> public class BaseField
> {
> //some properties
> }
>
> [XmlRoot("derived")]
> public partial class DerivedField : BaseField {
> }
>
> All the classes are tagged as serilizable.
> When I XMLSerialize an object of type MyClass, here is what I get:
> <MyClass>
> <Fields>
> <myFields>
> <derived name="JobID" id="A" precision="9" />
> </myFields>
> </Fields>
> </MyClass>
>
> The serializer adds an XML element for every public property, which is
> why myfields appears as a tag in the XML.
> This is undesirable in my application as I would like the elements in
> myFields[] to get serialized directly under <Fields> as :
> <MyClass>
> <Fields>
> <derived name="JobID" id="A" precision="9" />
> <derived name="JobID" id="B" precision="9" />
> <derived1 name="JobID" id="C" precision="9" />
> <derived2 name="JobID" id="D" precision="9" />
> </Fields>
> </MyClass>
>
> Is there a way to instruct the serializer using Attributes or some
> other to not add a tag for the myFields array?
>
>
> Thanks,
> Yash