去掉XML命名空间及声明头不影响反序列化,

  1. int obj = 1;  
  2. XmlSerializer serializer = new XmlSerializer(obj.GetType());  
  3.   
  4. // 将对象序列化输出到文件  
  5. FileStream stream = new FileStream("hh.xml", FileMode.Create);  
  6.   
  7. XmlWriterSettings settings = new XmlWriterSettings();  
  8. settings.Indent = true;  
  9. settings.IndentChars = "    ";  
  10. settings.NewLineChars = "\r\n";  
  11. settings.Encoding = Encoding.UTF8;  
  12. //settings.OmitXmlDeclaration = true;  // 不生成声明头  
  13.   
  14. using (XmlWriter xmlWriter = XmlWriter.Create(stream, settings))  
  15. {  
  16.     // 强制指定命名空间,覆盖默认的命名空间  
  17.     XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();  
  18.     namespaces.Add(string.Empty, string.Empty);  
  19.     serializer.Serialize(xmlWriter, obj, namespaces);  
  20.     xmlWriter.Close();  
  21. };  
  22. stream.Close();  

posted on 2017-08-18 18:04  高达  阅读(358)  评论(0)    收藏  举报

导航