- - PR -
アプリ名.exe.configに書き込み
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-12-05 20:04
はじめまして。sugiと申します。
アプリ名.exe.configファイルの読み込み方は分かるのですが、 プログラム中(C#)から書き込む方法が分かりません。 もしかして、読み込みのときのように専用クラスはなく、 普通にDOMなどで書き込むということなのでしょうか? |
|
投稿日時: 2002-12-06 16:09
VB.NETでの記述例になりますが、以下の情報がMSのサイトにあがってますね。
http://www.microsoft.com/japan/msdn/vs/vb/vbtchCreateYourOwnDynamicPropertiesPreservePropertySettingsInVisualBasicNET.asp まぁ、DOMでやるようになるということのようです。 |
|
投稿日時: 2002-12-06 16:54
shu様、ご返答ありがとうございます。
MSのサイトですが、ずばりな内容でした。 やはり、DOMだったのですね。 動的プロパティとして公開されていないプロパティの 保存の仕方など、とても参考になりました。 ありがとうございました。 |
|
投稿日時: 2002-12-07 01:18
早速 アプリ名.exe.config ファイルを書き込むサンプルを
作ってみましたので、参考までに載せておきます。 例外処理などは、まだ追加しておりません。 C# のコメントってこれでいいのかな? using System; using System.Xml; namespace com.kamedane.xml { /// <summary> /// アプリ名.exe.config 書き込みクラス /// </summary> public class ConfigXML { private XmlDocument xmlDoc = new XmlDocument(); private String fileName; /// <summary> /// コンストラクタ /// </summary> /// <param name="app">アプリ名称</param> public ConfigXML(String app) { fileName = app + ".exe.config"; xmlDoc.Load(fileName); } /// <summary> /// config ファイルに書き込みます /// </summary> /// <param name="cfgKey">キー名称</param> /// <param name="cfgValue">セットする値</param> public void SetConfig(String cfgKey,String cfgValue) { foreach(XmlNode node in xmlDoc.SelectSingleNode("/configuration/appSettings")) { if(node.Name.Equals("add")) { if((node.Attributes.GetNamedItem("key").Value).Equals(cfgKey)) { node.Attributes.GetNamedItem("value").Value = cfgValue; } } } xmlDoc.Save(fileName); } } } |
|
投稿日時: 2002-12-07 01:40
すいません。ちょっと訂正です。
SetConfigメソッド中の xmlDoc.Save(fileName); ですが、 別メソッドにするべきでした。 /// <summary> /// config ファイルの保存 /// </summary> public void Save() { xmlDoc.Save(fileName); } 読み込みようにも下のようにメソッドを用意しておくと、 便利なのかな?? /// <summary> /// config ファイルを読み込みます /// </summary> /// <param name="cfgKey">キー名称</param> /// <returns>読み込んだ値</returns> public static String GetConfig(String cfgKey) { System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader(); return (string)(configurationAppSettings.GetValue(cfgKey, typeof(string))); } でも、毎回 AppSettingsReader のインスタンスを作るのも・・・ですね。 [ メッセージ編集済み 編集者: sugi 編集日時 2002-12-07 01:47 ] |
1
