How to serialize a DataTable to a string?

前端 未结 4 1323
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-15 08:47

Recently I was in the need to serialize a DataTable as a string for further processing (storing in a file).

So I asked myself: How to serialize a DataTa

4条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-15 09:40

    Here is the code I wrote to perform the task of serializing a DataTable into a string:

    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();
            }
        }
    }
    

    Hopefully this is useful for someone somewhere out there.

    (Please note that I asked in the past whether it is OK to post snippets and got replies that this should be OK; correct me if I am wrong on that - thanks!)

提交回复
热议问题