XSD is solution
DataTable table = new DataTable();
table.TableName = "Sushant";
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
StringBuilder sb = new StringBuilder();
StringBuilder sb1 = new StringBuilder();
XmlWriter tw= XmlWriter.Create(sb);
table.WriteXmlSchema(tw);
tw = XmlWriter.Create(sb1);
table.WriteXml(tw);
for (int j = 0; j < table.Columns.Count; j++)
{
Console.WriteLine(table.Columns[j].ColumnName + "', type = "
+ table.Columns[j].DataType.ToString());
}
DataTable dt = new DataTable();
string strsb = Convert.ToString(sb);
string strsb1 = Convert.ToString(sb1);
TextReader tr = new StringReader(strsb);
XmlReader xr = XmlReader.Create(tr);
dt.ReadXmlSchema(xr);
tr = new StringReader(strsb1);
xr = XmlReader.Create(tr);
dt.ReadXml(xr);
for (int j = 0; j < dt.Columns.Count; j++)
{
Console.WriteLine(dt.Columns[j].ColumnName + "', type = "
+ dt.Columns[j].DataType.ToString());
}