Converting DataTable to XML is useful for data export, storage, and web services.
Simple Conversion
csharp
using System.Data;
using System.IO;
DataTable dt = GetDataTable(); // Your DataTable
// Method 1: WriteXml
dt.TableName = "Record";
StringWriter sw = new StringWriter();
dt.WriteXml(sw);
string xml = sw.ToString();
// Method 2: Save to file
dt.WriteXml("output.xml");
// Method 3: With schema
dt.WriteXml("output.xml", XmlWriteMode.WriteSchema);
Custom XML Format
csharp
public static XElement DataTableToXElement(DataTable dt)
{
return new XElement("Records",
from row in dt.AsEnumerable()
select new XElement("Record",
from col in dt.Columns.Cast<DataColumn>()
select new XElement(col.ColumnName, row[col])
)
);
}