最近,我需要将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 - 如何将DataTable序列化为字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2244655/

10-11 04:59