Q:

Is it possible to have two sets of serialization attributes in a C# set of classes?

I have a set of C# classes I serialize using XmlSerializer. I have a root object with several properties that points to some subclasses. I used Attributes to control XMl serialization, like element names. 
The problem is that now I need a second XML format for the same classes, without removing the first format. What i need to do is to create a "compressed" format, where the XML Element names will be smaller, but i want to keep the more verbose names for clarity. It would be a users choice. 
How can I achieve that without having to create a second set of classes?

A:

Ok, I stand corrected, you can do this. Have a look at XmlAttributeOverrides. (Thanks to the comment from @Paul Abbot)
Please note that XML is verbose because it's supposed to be compressed by an external compression algorithm. Making XML smaller by using less verbose names is more work and still not as good as using a compression library on the result. If you want your XML to be smaller, compress it. 

