C#2.0:DataSet和XML之间的操作
不知道这样是不是走了弯路,不过总算是一种方法。我应用的时候是用这个方法返回一个DataSet,用AJAX.NET控件在客户端用JS接收,不知道为什么用DataSet的Merge(FoundRows)方法而不通过DataTable填充时在客户端接收出错,提示Table.0.Rows不存在或不是对象。
仅供参考。
//读取XML文件到DataSet
DataSet ds = new DataSet();
MyXmlPath = "C:\\Message.xml";
FileStream fs = new FileStream(MyXmlPath, FileMode.Open);
ds.ReadXml(fs, XmlReadMode.ReadSchema);
fs.Close();
//筛选行存入DataSet
DataRow[] FoundRows;
string Expression = "AREA IN ('" + Area + "','')";
string SortOrder = "DAY DESC";
FoundRows = ds.Tables[0].Select(Expression, SortOrder);
DataTable Mydt = new DataTable();
Mydt.Columns.Add("FKEY");
Mydt.Columns.Add("IIIII");
Mydt.Columns.Add("NAME");
Mydt.Columns.Add("AREA");
Mydt.Columns.Add("X");
Mydt.Columns.Add("Y");
Mydt.Columns.Add("BKIND");
Mydt.Columns.Add("SKIND");
Mydt.Columns.Add("DAY");
Mydt.Columns.Add("ETIME");
Mydt.Columns.Add("TYPE");
Mydt.Columns.Add("MAIN");
Mydt.Columns.Add("TTIME");
foreach (DataRow dr in FoundRows)
{
Mydt.Rows.Add(dr.ItemArray);
}
DataSet Myds = new DataSet();
Myds.Tables.Add(Mydt);
//保存到XML文件
Myds.WriteXml(MyXmlPath, XmlWriteMode.WriteSchema);
仅供参考。
//读取XML文件到DataSet
DataSet ds = new DataSet();
MyXmlPath = "C:\\Message.xml";
FileStream fs = new FileStream(MyXmlPath, FileMode.Open);
ds.ReadXml(fs, XmlReadMode.ReadSchema);
fs.Close();
//筛选行存入DataSet
DataRow[] FoundRows;
string Expression = "AREA IN ('" + Area + "','')";
string SortOrder = "DAY DESC";
FoundRows = ds.Tables[0].Select(Expression, SortOrder);
DataTable Mydt = new DataTable();
Mydt.Columns.Add("FKEY");
Mydt.Columns.Add("IIIII");
Mydt.Columns.Add("NAME");
Mydt.Columns.Add("AREA");
Mydt.Columns.Add("X");
Mydt.Columns.Add("Y");
Mydt.Columns.Add("BKIND");
Mydt.Columns.Add("SKIND");
Mydt.Columns.Add("DAY");
Mydt.Columns.Add("ETIME");
Mydt.Columns.Add("TYPE");
Mydt.Columns.Add("MAIN");
Mydt.Columns.Add("TTIME");
foreach (DataRow dr in FoundRows)
{
Mydt.Rows.Add(dr.ItemArray);
}
DataSet Myds = new DataSet();
Myds.Tables.Add(Mydt);
//保存到XML文件
Myds.WriteXml(MyXmlPath, XmlWriteMode.WriteSchema);

浙公网安备 33010602011771号