Как сохранить в XML, используя набор данных - PullRequest
2 голосов
/ 18 октября 2010

Я использую базу данных sql для сохранения данных простого приложения для создания заметок, используя набор данных, а графический интерфейс привязывается к базе данных. Простая работа Использование SQL здесь бесполезно, я хочу сохранить данные в простой XML-файл вместо SQL, используя тот же набор данных.

Я использую Visual Studio 2010 и программирую на C # .Net 4.0

Ответы [ 4 ]

3 голосов
/ 18 октября 2010

Набор данных из одной таблицы в 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);
}

Если в наборе данных более одной таблицы, скажем, это отношение master-detail, тогда метод будет точно таким же.Просто убедитесь, что вы создали DataRelation между таблицами и задали для свойства Relationship 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;

Надеюсь, это поможет

2 голосов
/ 11 июля 2012

Я использую:

        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 - это набор данных, который я использую, и было бы неплохо создать отдельную кнопку, чтобы упростить ее использование.

1 голос
/ 08 июня 2012

Вот хороший пример генерации 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();
1 голос
/ 18 октября 2010

Вы не указали свою среду программирования. Предполагая, что вы используете .NET ....

Используйте метод WriteXml для набора данных.

Здесь есть статья: http://msdn.microsoft.com/en-us/library/ms233698%28VS.80%29.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...