Um eine DataTable in eine Zeichenfolge (string) zu serialisieren, um sie weiter zu verarbeiten, z.B. um in einer Datei zu speichern oder an einen Server zu übertragen, könnt Ihr folgenden Code nehmen:
public static string SerializeTableToString( DataTable table )
{
if (table == null) return null;
using (var sw = new StringWriter())
using (var tw = new XmlTextWriter(sw))
{
table.TableName = @"MyTable"; // Ohne Name schlägt Serialisierung fehl.
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();
}
}