I have some types that I want to serialize/deserialize and generate a UI based on the selected object. The UI will also change the object which in turn I will have to serialize to store it in my app.
So:
[obj_apple stored in the app] -> select obj_apple -> deserialize -> show in UI -> use the UI to change obj_apple -> deselect obj_apple -> serialize -> [obj_apple stored in the app]
The objects have to be serialized/deserialized and this data has to be string. That’s why I thought having an xml serializer would be better.
Which type of serializer would be the best? And are there any good examples to implement this for custom types?
You have a few choices for strings; xml, which can be done simply with
XmlSerializer(orDataContractSerializer, but that offers much less control over the xml) or JSON (JSON.net, etc).Typical classes for
XmlSerializerwould look simply like:(note I would expect the above to work the JSON.net too)
The above class should also work fine in data-binding scenarios etc, thanks to the properties.
You would serialize this:
but you can customize the xml:
DataContractSerializeris ideally more like: