.net - 如何将数据表序列化为字符串?

标签 .net string datatable serialization

最近我需要序列化一个 DataTable作为进一步处理的字符串(存储在文件中)。

于是我问自己:如何将一个DataTable序列化为一个字符串?

最佳答案

这是我编写的用于执行序列化 DataTable 任务的代码成字符串:

public static string SerializeTableToString( DataTable table )
{
    if (table == null)
    {
        return null;
    }
    else
    {
        using (var sw = new StringWriter())
        using (var tw = new XmlTextWriter(sw))
        {
            // Must set name for serialization to succeed.
            table.TableName = @"MyTable";

            // --

            tw.Formatting = Formatting.Indented;

            tw.WriteStartDocument();
            tw.WriteStartElement(@"data");

            ((IXmlSerializable)table).WriteXml(tw);

            tw.WriteEndElement();
            tw.WriteEndDocument();

            // --

            tw.Flush();
            tw.Close();
            sw.Flush();

            return sw.ToString();
        }
    }
}

希望这对某个地方的人有用。

(请注意,我 asked in the past 是否可以发布片段并得到回复说这应该可以;如果我错了,请纠正我 - 谢谢!)

关于.net - 如何将数据表序列化为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244655/

相关文章:

python - Python 中的 for 循环丢失重音符号

c# - LINQ to SQL(.dbml) : how do ExecuteQuery method return DataTable?

Jquery 数据表 - 所选行突出显示在第二页中不起作用

c# - 为什么从 EventArgs 继承有用?

ruby - 使用有序分隔符使用正则表达式解析字符串

.net - Visual Studio 2008 的性能类似于 VBA

java - 为什么java String "contains"方法找不到返回值?

Mysql 中等 int 与 int 性能

c# - 在 C# 中搜索 ASCII 文件以获取简单关键字的最快方法?

c# - 自定义控件导致 Visual Studio 2008 崩溃