えムナウのプログラミングのページ

えムナウ の とどけもの

 Logo えムナウBlog@AILight
えムナウBlog@Wankuma

目次

利用状況

イメージ ギャラリー

カテゴリ

Links
 

inetaj

MSMVPロゴ
MSMVP Visual C# 2005/01-2007/12

目次

XMLファイル

サンプル1 INIファイル・データファイルの代わりに読み書きする


クラスの初期値をXMLファイルから読み書きします。
データファイルとしても使えます。
このクラスをメインで持って全Formに持ち回りすれば、客先環境でのコネクションストリング差分吸収は簡単です。
(例はユーザーID・パスワードを内包しているのでよくないですが)


/// <summary>
/// InitialData の概要の説明です。
/// </summary>
public class InitialData
{
        public int      no ;
        public string   ConnectionString ;

        public InitialData()
        {
                // 
                // TODO: コンストラクタ ロジックをここに追加してください。
                //
                no = 10 ;
                ConnectionString = "workstation id=(local);packet size=4096;data source=(local);" +
                 "persist security info=True;initial catalog=Database;user id=User;password=Password";
        }

        /// <summary>
        /// XMLファイルをクラスに読み込む
        /// </summary>
        /// <returns>読み込んだクラス</returns>
        public static InitialData LoadInitialData()
        {
                InitialData initialdata = new InitialData() ;
                try
                {
                        XmlSerializer xsInitialData = new XmlSerializer(typeof(InitialData));
                        TextReader readerInitialData = new StreamReader(Application.StartupPath + @"\InitialData.xml");
                        initialdata = (InitialData)xsInitialData.Deserialize(readerInitialData);
                        readerInitialData.Close();
                }
                catch(Exception){}

                return initialdata ;
        }

        /// <summary>
        /// クラスをXMLファイルに書き込む
        /// </summary>
        /// <param name="initialdata">書き込むクラス</param>
        public static void SaveInitialData(InitialData initialdata)
        {
                XmlSerializer xsInitialData = new XmlSerializer(typeof(InitialData));
                TextWriter writerInitialData = new StreamWriter(Application.StartupPath + @"\InitialData.xml");
                xsInitialData.Serialize(writerInitialData, initialdata);
                writerInitialData.Close();
        }
}