Click to See Complete Forum and Search --> : [RESOLVED] Serialization problem


F.Mayis
July 12th, 2007, 09:28 AM
Hi all,

I'm quite new to C# and I have some Xml serialization indeed.

I have objects define as follows :

public class ObjSub{
//some data
public string mySubStr;
public int mySubInt;
}

public class ObjMain{
//some data
public string myStr;
public int myInt;

public ObjSub subObj = new ObjSub();
}


I deserialize my objects from Xml file:


public static SchedulerTemplateFile Load(string fileName)
{
using (StreamReader sw = new StreamReader(fileName))
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(ObjMain));
xmlSerializer.UnknownAttribute += new XmlAttributeEventHandler(Serializer_UnknownAttribute);
return (ObjMain)xmlSerializer.Deserialize(sw);
}

}



See that I use An UnknowAttribute event handler to get and store unknown attribute if needed.

Now here is the problem:
The Unknown attribute handler works well for ObjMain, but is nevver called for ObjSub.

if for the ObjSub I have the node
<ObjSub id="1">
<mySubStr>"SubStr"</mySubStr>
<mySubInt>"10"</mySubInt>
</ObjSub>

I would never have the event telling me about "id" attribute.

Does anyone already experienced that.

Many Thanks

JonnyPoet
July 13th, 2007, 01:34 PM
Hi all,

I'm quite new to C# and I have some Xml serialization indeed.

I have objects define as follows :
...I cannot see any code like
[Serializeable(true)]on the top of your calls constructors.
Jonny

F.Mayis
July 14th, 2007, 04:52 AM
Hi,

Thanks, I found the problem in fact it was related to properties function on subObj I got a "get" but no "set".

Thanks for your help!

JonnyPoet
July 15th, 2007, 09:13 AM
Hi,

Thanks, I found the problem in fact it was related to properties function on subObj I got a "get" but no "set".

Thanks for your help!If your problem is solved please dont forget to sign the post as resolved using the threadtools on top of the page.Thx
:wave: