C# XML序列化去掉XML默认的命名空间及声明头

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

直接上代码:

// 序列化这个对象int obj = 1;XmlSerializer serializer = new XmlSerializer(obj.GetType());// 将对象序列化输出到文件FileStream stream = new FileStream("hh.xml", FileMode.Create);XmlWriterSettings settings = new XmlWriterSettings();settings.Indent = true;settings.IndentChars = " ";settings.NewLineChars = "\r\n";settings.Encoding = Encoding.UTF8;//settings.OmitXmlDeclaration = true; // 不生成声明头using (XmlWriter xmlWriter = XmlWriter.Create(stream, settings)){// 强制指定命名空间,覆盖默认的命名空间XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();namespaces.Add(string.Empty, string.Empty);serializer.Serialize(xmlWriter, obj, namespaces);xmlWriter.Close();};stream.Close();

,懂得倾听别人的忠告。

C# XML序列化去掉XML默认的命名空间及声明头

相关文章:

你感兴趣的文章:

标签云: