http://stackoverflow.com/questions/11221511/predefine-xml-namespaces-for-datacontractserializer
这个办法不错,简洁安全。
其他的一些设置其实不是做这个用的:
var writer = XmlWriter.Create(compressedStream, new XmlWriterSettings
? {
????? OmitXmlDeclaration = true,
????? NamespaceHandling = NamespaceHandling.OmitDuplicates,
????? Indent = true
? });
用Resolve KnownType的办法(静态或动态)只能解决自定义类型的重复xmlns问题。