When I call dataSet.GetXml() I don\'t get any xml returned for columns with null or blank values. Is there a simple, efficient way to get around this? An example of the prob
One solution that worked for me.
First clone the DataTable, make all columns of type string, replace all null values with string.empty, then call GetXml on a new DataSet.
DataTable dtCloned = dt.Clone();
foreach (DataColumn dc in dtCloned.Columns)
dc.DataType = typeof(string);
foreach (DataRow row in dt.Rows)
{
dtCloned.ImportRow(row);
}
foreach (DataRow row in dtCloned.Rows)
{
for (int i = 0; i < dtCloned.Columns.Count; i++)
{
dtCloned.Columns[i].ReadOnly = false;
if (string.IsNullOrEmpty(row[i].ToString()))
row[i] = string.Empty;
}
}
DataSet ds = new DataSet();
ds.Tables.Add(dtCloned);
string xml = ds.GetXml();