CollapseXML is our new simple XML templating engine which you can download from NuGet and use in your projects. Before reading any further, you should at least take a peek at it to know what we’re talking about in this post.
The reason for writing this post is to explain why CollapseXML is not a serializer but a templating engine, and why that matters.
Serialization is a process of converting data structures into some format that can be stored for later use or transmitted across a network. The main goal of this process is to recreate the original data structures from that format at another location in the network or at another point in time.
CollapseXML can be used as an XML serializer, but it is not its main job. The reason is simple – because it requires a template. Using it as a serializer would require you to write a template to describe every property of every object in the object graph, which would simply be too tedious. This is not CollapseXML’s strength. What is, then, the reason for CollapseXML’s existence?