Dot-Net

如何將 DataTable 序列化為字元串?

  • May 23, 2017

最近我需要將 a 序列化為DataTable字元串以進行進一步處理(儲存在文件中)。

於是我問自己:如何將一個DataTable序列化成一個字元串?

DataTable這是我為執行將 a 序列化為字元串的任務而編寫的程式碼:

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

希望這對某個地方的人有用。

(請注意,我過去曾問過是否可以發布片段並得到回复說這應該可以;如果我錯了,請糾正我 - 謝謝!)

引用自:https://stackoverflow.com/questions/2244655