Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
lulu

Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#1

投稿記事 by lulu » 11年前

こんにちは。
現在、タイトル通り、VisualStudioのSettings.settingsを動的に
読み込む方法で悩んでいます。

現在Windowsアプリケーション開発を行っており、設定データを保存するのに
Properties.Settings.Settingsで管理しております。
この時、保存した場合はAppDataにデータがxml形式で保存されています。
このxmlを動的に読み込みたいのですが、(ユーザーがxmlファイルをダイアログで選択する)
どのように読み込んでいいかわかりません。
一つ一つ構文解析して読み込むことは非常に大変です。
Settings.Designer.csを見ると、internal sealed partial class Settings
があるので、このクラスで読み込めたらいいなぁと思っているのですが、
どうやっていいかお手上げ状態です。

どなたかよい対処方法を教えていただけませんか?
よろしくお願いいたします。


YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#3

投稿記事 by YuO » 11年前

マルチポスト先の144番のポストで書かれているように,XmlDocumentなりXDocumentなりでXMLとして読めば読めます。
150番の方が書かれている,XmlSerializerによる方法は,System.Configurations.Configurationにデフォルトコンストラクタがないため,試した限り使えなかったです。

で,やはり144番の方が書かれていますが,
設定用のクラスを自前で作り,それをXmlSerializerなりDataContractSerializerなり他の各種シリアライザを使って保存,復元するのが正攻法だと思います。
Settingsは,何個も用意してユーザーが取り替えられるような使い方を前提としていませんので。

refs) シリアライズ関連について

lulu

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#4

投稿記事 by lulu » 11年前

ご回答ありがとうございます。

やはりxmlでシリアライズ、デシリアライズが一番有効なんですね。

本来やりたかったことは、ソフトバージョン更新時、以前使っていたバージョンの
Settings.Settingsの内容を最新バージョンでも引き継ぎたいがためにこのような
質問をいたしました。Settings.Settingsの項目が非常に多いので、再インストール時
にまた全部設定するのは手間と感じています。

本来はこのような場合、Settings.Settingsを使うのではなく、自前の設定クラスで
管理することが最もよい手法なのでしょうか。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#5

投稿記事 by YuO » 11年前

lulu さんが書きました:本来やりたかったことは、ソフトバージョン更新時、以前使っていたバージョンの
Settings.Settingsの内容を最新バージョンでも引き継ぎたいがためにこのような
質問をいたしました。Settings.Settingsの項目が非常に多いので、再インストール時
にまた全部設定するのは手間と感じています。
バージョンアップに伴うものであるならば,Upgrade メソッドを呼び出せば「直前のバージョン」のデータを引き継ぐことができます。
refs)
lulu さんが書きました:本来はこのような場合、Settings.Settingsを使うのではなく、自前の設定クラスで
管理することが最もよい手法なのでしょうか。
場合によりけりです。
単純にバージョンアップで引き継ぐ,という話であればUpgradeメソッドで十分であることも多いと思います。ただ,
lulu さんが書きました:このxmlを動的に読み込みたいのですが、(ユーザーがxmlファイルをダイアログで選択する)
どのように読み込んでいいかわかりません。
とあったため,私は (恐らく2chで回答された方も) VSの「設定のインポートとエクスポート」のような,複数の設定からユーザーが選択する方式を想定していました。
それを前提にするのであれば,複数の設定ファイルの存在を前提としないSettingsを使うよりは,自前の設定クラスをシリアライズ・デシリアライズした方が手間が少なくなる,ということです。

lulu

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#6

投稿記事 by lulu » 11年前

YuO様
ご回答ありがとうございました。

結局、独自の設定クラスを設けて、処理するようにしました。
ご回答ありがとうございました。

lulu

Re: Visual Studio Settings.Settings(xml)ファイルの動的読み込みについて

#7

投稿記事 by lulu » 11年前

解決いたしました。ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る