I have a client/server application where data is exchanged in XML format. The size of data comes to around 50MB, most of which comprises of the XML tags themselves. Is there a way to take the generated XML and index the node names as follows:
<User><Assessments><Assessment ID="1" Name="some name" /></Assessments></User>
to:
<A><B><C ID="1" Name="some name" /></B></A>
This would save an incredible amount of bloat.
EDIT
This data is serialized from Entity Framework objects. The reason for choosing XML as the protocol was intrinsic support in .NET and smart code generation of FromXml and ToXml for entities to circumvent circular references.
I ended up writing a small class that renames the node names and creates a mapping element so the process can be reversed as well. That alone took the file size down from 50MB to 10MB.
Compressing the file would be the next step but I wonder how much space I could ave using Binary serialization. Have not tried that before.