For serialization on .NET, should I use JavaScriptSerializer and XmlSerializer or their DataContract counterparts (DataContractXmlSerializer and DataContractJsonSerializer)?
EDIT
I want to serialize things to store on files, or to send through the internet. I need some flexibility as to how the output will look like sometimes.
If you are using WCF, use DataContract* serializers. Otherwise XmlSerializer is pretty much the .NET standard for generating readable serialization file. JavaScriptSerializer/Json.NET are also very good alternatives for web stuff (i.e. for consuming web services, or posting simple REST queries, etc.).