XmlSerializer序列化时去掉XML声明的关键是使用XmlWriterSettings设置OmitXmlDeclaration=true,通过XmlWriter控制输出而非字符串替换;注意StringWriter默认UTF-16编码,推荐MemoryStream配合UTF-8避免编码问题。

用 XmlSerializer 序列化对象时,默认会生成带 XML 声明(如 <?xml version="1.0" encoding="utf-8"?>)的字符串。要去掉它,关键在于**控制序列化输出的 XmlWriter 设置**,而不是修改序列化器本身。
使用 XmlWriterSettings 禁用 XML 声明
创建 XmlWriter 时传入一个配置好的 XmlWriterSettings,把 OmitXmlDeclaration 设为 true:
- 新建
StringWriter接收输出 - 新建
XmlWriterSettings,设OmitXmlDeclaration = true - 用该设置创建
XmlWriter,再传给XmlSerializer.Serialize()
示例代码:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~