Y
Yash Ganthe
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
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