111,130
社区成员
发帖
与我相关
我的任务
分享 DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("col1", typeof(string));
dt.Columns.Add("col2", typeof(decimal));
dt.Columns.Add("col3", typeof(decimal));
dt.Columns.Add("col4", typeof(decimal));
dt.Columns.Add("col5", typeof(string));
dt.Rows.Add(new object[] { DBNull.Value, 71.72, 0.02, DBNull.Value, "9/1 12:00am" });
dt.Rows.Add(new object[] { "Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am" });
dt.Rows.Add(new object[] { "Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am" });
ds.Tables.Add(dt);
string strTbl = ds.Tables[0].TableName;
StringBuilder sBld = new StringBuilder();
sBld.AppendFormat(" <{0}>[^<]*", strTbl);
for (int i = 0; i < dt.Columns.Count; i++)
{
sBld.AppendFormat("(?:<{0}>)?([^<]*)(?:</{0}>)?[^<]*", dt.Columns[i].ColumnName);
}
sBld.AppendFormat("[^<]* </{0}>", strTbl);
string reg = sBld.ToString();
string s = ds.GetXml();
s = Regex.Replace(s, reg, "['${1}',${2},${3},${4},${5}],", RegexOptions.IgnoreCase);
s = Regex.Replace(s, @"[^]]*</?\w+>[^[]*", "");
Response.Write(s);#region test data
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("col1", typeof(string));
dt.Columns.Add("col2", typeof(decimal));
dt.Columns.Add("col3", typeof(decimal));
dt.Columns.Add("col4", typeof(decimal));
dt.Columns.Add("col5", typeof(string));
dt.Rows.Add(new object[] { "3m Co", 71.72, 0.02, 0.03, "9/1 12:00am" });
dt.Rows.Add(new object[] { "Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am" });
dt.Rows.Add(new object[] { "Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am" });
ds.Tables.Add(dt);
#endregion
string strTbl = ds.Tables[0].TableName;
StringBuilder sBld = new StringBuilder();
sBld.AppendFormat(" <{0}>[^<]*", strTbl);
for (int i = 0; i < dt.Columns.Count; i++)
{
sBld.AppendFormat("<{0}>([^<]*)</{0}>[^<]*", dt.Columns[i].ColumnName);
}
sBld.AppendFormat("[^<]* </{0}>", strTbl);
string reg = sBld.ToString();
string s = ds.GetXml();
s = Regex.Replace(s, reg, "['${1}',${2},${3},${4},${5}],", RegexOptions.IgnoreCase);
s = Regex.Replace(s, @"[^]]*</?\w+>[^[]*", "");
Response.Write(s);