You can easily do it if you write the file by yourself. Really easily. If you really need it, I can find out and explain it; I really do it in my work, probably for the same purpose as you do: better readability for a human, via adding semantically sensible prefix.
However, I bet you don't do it by yourself: the
Data Contract does it for you, more exactly,
DataContractSerializer
:
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer.aspx[
^].
And, as far as I know, you don't have control over the prefix. It affects nothing at all (try to replace it with any valid unique XML name and you will see that same software parses the file/stream exactly the same way), so it is not an option.
Generally, one little problem with this serializer is: it is not so laconic and so human-readable as you probably would like it to be. Do you want to know what's my solution? I'm working for alternative version of the serializer used to replace the one from Microsoft; the first version is already deployed to customers. But this is really, really hard job. As
System.Reflection.Emit
is used (otherwise performance would be too bad, I know that from my old version of similar technology I invented when Data Contact was not yes available from Microsoft), it is really hard to debug and requires good knowledge of CIL. I'm not sure you want to bite a bullet just for fixing a small prefix.
—SA