.NET Standard2.0下WCF客户端DataTable转XmlElement实现问题
DataTable 转 XmlElement 实现方案
可以通过DataTable.WriteXml结合XmlDocument实现DataTable到XmlElement的转换,以下是完整实现代码:
using System.Data; using System.Xml; public static class Transform { public static DataTable ToDataTable(XmlElement xmlElement) { using var reader = new XmlNodeReader(xmlElement); var datatable = new DataTable(); datatable.ReadXml(reader); return datatable; } public static XmlElement ToXmlElement(DataTable datatable) { var xmlDoc = new XmlDocument(); using var xmlWriter = xmlDoc.CreateNavigator().AppendChild(); // 忽略Schema生成,和ToDataTable的读取逻辑匹配 datatable.WriteXml(xmlWriter, XmlWriteMode.IgnoreSchema); xmlWriter.Close(); return xmlDoc.DocumentElement; } }
关键说明
- 用
XmlDocument.CreateNavigator().AppendChild()创建XmlWriter,确保生成的XML直接关联到XmlDocument实例 - 指定
XmlWriteMode.IgnoreSchema,避免生成额外的XML Schema定义,和现有读取方法的逻辑保持一致 - 最终返回XmlDocument的根节点,即为目标XmlElement
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

