我正在使用sql数据库保存简单笔记应用程序的数据,使用数据集和gui与数据库绑定。简单的工作。 在这里使用SQL是没用的,我想使用相同的数据集将数据保存到一个简单的XML文件而不是SQL。
我正在使用Visual Studio 2010并使用C#.Net 4.0进行编程
答案 0 :(得分:3)
XML表单个表的数据集
private void SingleTableToXml()
{
DataSet myDS = getDataSet();
// To write out the contents of the DataSet as XML,
// use a file name to call the WriteXml method of the DataSet class
myDS.WriteXml(Server.MapPath("filename.xml"), XmlWriteMode.IgnoreSchema);
}
如果数据集中有多个表,请说它是主 - 细节关系,那么方法完全相同。只需确保在表之间创建DataRelation并将关系Nested
属性设置为true,如下面的代码所示
//Get the primary key column from the master table
DataColumn primarykey = myDS.Tables["Categories"].Columns["CategoryID"];
//Get the foreign key column from the detail table
DataColumn foreignkey = myDS.Tables["Products"].Columns["CategoryID"];
//Assign a relation
DataRelation relation = myDS.Relations.Add(primarykey, foreignkey);
//Ask ADO.NET to generate nested XML nodes
relation.Nested = true;
希望有所帮助
答案 1 :(得分:2)
我使用的是:
private void buttonSaveXML_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "XML Files|*.xml";
saveFile.Title = "Save a Xml File";
saveFile.ShowDialog();
if (saveFile.FileName != "")
{
FileStream fs =
(FileStream)saveFile.OpenFile();
DataSet.WriteXml(fs);
}
{
DataSet是我使用的数据集,最好制作一个单独的按钮,以便于使用。
答案 2 :(得分:1)
您没有指定编程环境。假设您正在使用.NET ....
使用dataSet的WriteXml方法。
这里有一篇文章:http://msdn.microsoft.com/en-us/library/ms233698%28VS.80%29.aspx
答案 3 :(得分:1)
以下是从数据集
生成XML的好例子 DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataColumn dc;
DataRow dr;
ds.DataSetName = "products";
dt.TableName = "product";
dc = new DataColumn("product_id");
dt.Columns.Add(dc);
dc = new DataColumn("product_name");
dt.Columns.Add(dc);
dr = dt.NewRow();
dr["product_id"] = 1;
dr["product_name"] = "Monitor";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["product_id"] = 2;
dr["product_name"] = "Mouse";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["product_id"] = 3;
dr["product_name"] = "KeyBoard";
dt.Rows.Add(dr);
ds.Tables.Add(dt);
string strXML= ds.GetXml();
System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("datasetxml.xml"));
sw.WriteLine(strXML);
sw.Close();