C#中导出DataTable为XML最直接方式是调用WriteXml()方法,支持文件、字符串及流输出,可选含schema或仅数据,并能自定义根节点名、命名空间和格式化缩进。
C#中把DataTable导出为XML格式,最直接的方式是调用DataTable.WriteXml()方法,它能将表结构和数据一并保存为标准XML文件或字符串。
这是最常用的方式,适合导出到磁盘:
dataTable.WriteXml("path/to/file.xml")即可生成带schema的XML文件(含列类型、主键等元数据)dataTable.WriteXml("file.xml", XmlWriteMode.IgnoreSchema)
FileStream或TextWriter等流对象,便于配合网络响应或内存操作若需返回XML内容用于API响应、日志或前端展示:
StringWriter和XmlTextWriter,再调用WriteXml(TextWriter)
st
ring xml = dataTable.AsEnumerable().CopyToDataTable().GetXml();(注意:GetXml()只输出数据,不含schema)MemoryStream + WriteXml(Stream),再转为UTF-8字符串默认生成的XML以DocumentElement为根节点名(即DataTable.TableName),可通过以下方式调整:
dataTable.TableName = "Orders",XML根节点即为
NewDataSet;建议显式赋值避免歧义XmlTextWriter并设置Formatting = Formatting.Indented
导出过程看似简单,但几个细节容易出错:
WriteXml()仍会生成根节点和空(除非用IgnoreSchema)&、)的字段会被自动转义,无需手动处理
true、2025-05-20T14:30:00),保持类型可读性Expression属性兼容XML序列化