C#.NETのサンプルコードを掲載しています。
      
DataTableをシリアライズする
DataTableをシリアライズしファイル出力するサンプルです。
型付DataTableでも出力できます。
サンプルコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Xml.Serialization;
using System.IO;
namespace dst
{
    public class dst025
    {
        /// <summary>
        /// DataTableの内容をXML形式でファイル保存します。
        /// </summary>
        /// <param name="dt">DataTableオブジェクト</param>
        /// <param name="xmlPath">XMLファイルパス</param>
        static public void SaveDataTableToXML(DataTable dt, string xmlPath)
        {
            using (FileStream fs = new FileStream(xmlPath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
            {
                XmlSerializer serializer = new XmlSerializer(dt.GetType());
                serializer.Serialize(fs, dt);
            }
        }
    }
}

呼び出しもとのソースはこちら。
呼び出し元
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

private void button1_Click(object sender, EventArgs e)
{
    DataTable dt = new DataTable();

    // 3列定義します。
    dt.Columns.Add("A", typeof(string));
    dt.Columns.Add("B", typeof(int));
    dt.Columns.Add("C", typeof(DateTime));

    // 4行追加します。
    for (int i = 0; i < 4; i++)
    {
        DataRow row = dt.NewRow();
        row["A"] = "文字列を格納します。";
        row["B"] = i;
        row["C"] = DateTime.Now;
        dt.Rows.Add(row);
    }

    dt.TableName = "Table1";
    dst025.SaveDataTableToXML(dt, "dst025.xml");
}

      








Copyright (C) 2011 - 2017 猫の気ままなC#日記