You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:20:30