.NET XML serialization

Posted by ShdNx on Stack Overflow See other posts from Stack Overflow or by ShdNx
Published on 2011-01-01T18:51:18Z Indexed on 2011/01/01 18:53 UTC
Read the original article Hit count: 409

I would like to serialize and deserialize mixed data into XML. After some searches I found out that there were two ways of doing it: System.Runtime.Serialization.Formatters.Soap.SoapFormatter and System.Xml.Serialization.XmlSerializer. However, neither turned out to match my requirements, since:

  • SoapFormatter doesn't support serialization of generic types
  • XmlSerializer refuses to serialize types that implement IDictionary, not to mention that it's far less easy-to-use than "normal" serialization (e.g. see this SO question)

I'm wondering if there exists an implementation that doesn't have these limitations? I have found attempts (for example CustomXmlSerializer and YAXLib as suggested in a related SO question), but they don't seem to work either.

I was thinking about writing such serializer myself (though it certainly doesn't seem to be a very easy task), but then I find myself limited by the CLR, as I cannot create object instances of types that won't have a paramaterless constructor, even if I'm using reflection. I recall having read somewhere that implementations in System.Runtime.Serialization somehow bypass the normal object creation mechanism when deserializing objects, though I'm not sure. Any hints of how could this be done?

Could somebody please point me to the right direction with this?

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET