for example://从数据库中取出的数据 SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421"); SqlDataAdapter sda = new SqlDataAdapter("select * from studentDetails", con); DataTable dt = new DataTable("student"); sda.Fill(dt); //写入xml文件 dt.WriteXml(@"../../test.xml", XmlWriteMode.WriteSchema); //读出 dt = new DataTable(); dt.ReadXml(@"../../test.xml");
也可以参见MSDN: ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref4/html/M_System_Data_DataTable_ReadXml_1_16219e3a.htm例子如下:下面的示例创建一个包含两列、十行的 DataTable。该示例将 DataSet 架构和数据写入磁盘中。该示例创建第二个 DataTable,并调用 ReadXml 方法来使用架构和数据填充此表。private static void DemonstrateReadWriteXMLDocumentWithString() { DataTable table = CreateTestTable("XmlDemo"); PrintValues(table, "Original table"); string fileName = "C:\\TestData.xml"; table.WriteXml(fileName, XmlWriteMode.WriteSchema); DataTable newTable = new DataTable(); newTable.ReadXml(fileName); // Print out values in the table. PrintValues(newTable, "New table"); }private static DataTable CreateTestTable(string tableName) { // Create a test DataTable with two columns and a few rows. DataTable table = new DataTable(tableName); DataColumn column = new DataColumn("id", typeof(System.Int32)); column.AutoIncrement = true; table.Columns.Add(column); column = new DataColumn("item", typeof(System.String)); table.Columns.Add(column); // Add ten rows. DataRow row; for (int i = 0; i <= 9; i++) { row = table.NewRow(); row["item"] = "item " + i; table.Rows.Add(row); } table.AcceptChanges(); return table; }private static void PrintValues(DataTable table, string label) { Console.WriteLine(label); foreach (DataRow row in table.Rows) { foreach (DataColumn column in table.Columns) { Console.Write("\t{0}", row[column]); } Console.WriteLine(); } }
SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
SqlDataAdapter sda = new SqlDataAdapter("select * from studentDetails", con);
DataTable dt = new DataTable("student");
sda.Fill(dt); //写入xml文件
dt.WriteXml(@"../../test.xml", XmlWriteMode.WriteSchema); //读出
dt = new DataTable();
dt.ReadXml(@"../../test.xml");
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref4/html/M_System_Data_DataTable_ReadXml_1_16219e3a.htm例子如下:下面的示例创建一个包含两列、十行的 DataTable。该示例将 DataSet 架构和数据写入磁盘中。该示例创建第二个 DataTable,并调用 ReadXml 方法来使用架构和数据填充此表。private static void DemonstrateReadWriteXMLDocumentWithString()
{
DataTable table = CreateTestTable("XmlDemo");
PrintValues(table, "Original table"); string fileName = "C:\\TestData.xml";
table.WriteXml(fileName, XmlWriteMode.WriteSchema); DataTable newTable = new DataTable();
newTable.ReadXml(fileName); // Print out values in the table.
PrintValues(newTable, "New table");
}private static DataTable CreateTestTable(string tableName)
{
// Create a test DataTable with two columns and a few rows.
DataTable table = new DataTable(tableName);
DataColumn column = new DataColumn("id", typeof(System.Int32));
column.AutoIncrement = true;
table.Columns.Add(column); column = new DataColumn("item", typeof(System.String));
table.Columns.Add(column); // Add ten rows.
DataRow row;
for (int i = 0; i <= 9; i++)
{
row = table.NewRow();
row["item"] = "item " + i;
table.Rows.Add(row);
} table.AcceptChanges();
return table;
}private static void PrintValues(DataTable table, string label)
{
Console.WriteLine(label);
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Console.Write("\t{0}", row[column]);
}
Console.WriteLine();
}
}