【问题标题】:How to save to XML using dataset如何使用数据集保存到 XML
【发布时间】:2012-08-09 15:06:10
【问题描述】:

我正在使用 sql 数据库来保存一个简单的笔记应用程序的数据,使用数据集和 gui 与数据库绑定。简单的工作。 在这里使用 SQL 是没用的,我想将数据保存到一个简单的 XML 文件,而不是使用相同数据集的 SQL。

我正在使用 Visual Studio 2010 并使用 C# .Net 4.0 进行编程

【问题讨论】:

    标签: xml database


    【解决方案1】:

    单个表到 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;
    

    希望对你有帮助

    【讨论】:

    • 好的,写入 XML 下次我将如何从它加载? ReadXml?
    • 是的。 ReadXml 是你的方式。您可以在 MSDN reference page 上找到每个覆盖的示例。祝你好运!
    【解决方案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 是我使用的Dataset,制作一个单独的按钮以方便使用是个好主意。

    【讨论】:

      【解决方案3】:

      您没有指定您的编程环境。假设您使用的是 .NET....

      使用数据集的WriteXml 方法。

      这里有一篇文章:http://msdn.microsoft.com/en-us/library/ms233698%28VS.80%29.aspx

      【讨论】:

      • 我正在使用 Visual Studio 2010 并在 C# .Net 4.0 中编程
      【解决方案4】:

      这里是从数据集生成 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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 2019-04-24
        • 2022-07-14
        相关资源
        最近更新 更多