• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.net XMLの作成方法 Iniの代替)

VB.net XMLの作成方法 Iniの代替

このQ&Aのポイント
  • VB.net 2010でプログラムを作成し、IniFileを使用していますが、VB.netではXMLが推奨されています。XMLを使ったパラメーターの読み書き方法を知りたいです。
  • XmlSerializer/DeSeralizerを使用してXMLを作成していますが、他にもDOMやX Documentなどの方法があります。IniFileと同様の機能を実現するためにはどの方法が最も簡単で使いやすいでしょうか。
  • 特にSectionやKeyの追加や削除が必要です。時間が限られているため、全ての方法を試すことはできません。IniFileの代替方法について詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

仕様が固まっているときに私が良く使うのは、 クラス丸ごとシリアル化 http://dobon.net/vb/dotnet/file/xmlserializer.html 自分のアプリケーションでしか使わないなら、セクション やキーすらも面倒。使いたい形のままで保存です。 お手軽だけど、バージョンアップしてドンドン設定が 追加されていく場合は、過去のデータを引き継ぐところ とかもコーディングが必要になってくるかも。 .configファイルはEXEのあるフォルダに置くと思うので、 読み取り専用の設定で使ってます。UAC対策が必須となって きていますので。 INIファイルの利点の1つは、ユーザに直接編集して もらえる可能性が高いという点だと思っています。 XMLでは「ごちゃごちゃタグが付いたら分かり難い」 って言われてINIファイルを採用した.NETのシステム 開発も経験しました。結局お金を出してくれる人が決めた 仕様次第ですし、素人の方にはタグが付いただけで敷居が 高くなるんですよね。。。そういう意味ではINIファイル の方が優秀かもしれません。 まぁ、設定画面もフォームで作ってアプリケーションから 設定させる想定なのかもしれませんが。

TinyPine
質問者

お礼

ご回答有難うございます。 >INIファイルの利点の1つは、ユーザに直接編集して もらえる可能性が高いという点だと思っています。 そうなんですよね。ユーザーの人はINIファイルなら編集出来ています。 今更XMLにしますと言ってもタグの中の一部が必要な内容で、現場が混乱するだけ。 何処かのサイトに書いてありましたが、ユーザーに編集させるならエディターも用意して上げなくてはと。 エディターを用意するぐらいならせっかくIniファイルを実装したのだから、VB.netの基本姿勢には背くようですが、Iniファイルを踏襲したほうがエンドユーザーの為に成りますね。 明日の会議ではIniファイル続投で行こうと思います。

その他の回答 (1)

  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

ちょいと論旨が違うような > VB.netではIniFileではなくXMLが推奨されている .NETでは.iniは使用できません。代わりにプロジェクトとして.configファイルを使用し、その記述にXMLが使用されているだけです。 .iniの役をする(オレオレ方式の)XML定義ファイルを作っても、その場合は読み出し、オブジェクトへの展開などの手順をプログラムとして書かなければいけません。 標準的な定義ファイル記述であれば、標準化された手法で自動的に処理されますので、そちらを順守する方がはるかに効率的で高品質なものになります。 .configファイルにおける、.ini代替えの記述は、 ・単純なものはappSettings ・それ以外のものはカスタムセクション として記述します。 カスタムセクション http://uchukamen.com/ASPNET20/ConfigSectionHandler/ //== あと、.NETからのXMLハンドリングですが、Serialize/Deserializeはあくまで、オブジェクトシリアライズの一環としてのXML書き出しであって、XMLハンドリングとはとうてい言えません。 XMLを直接扱うのは、一般的には昔からあるXmlDocument(System.Xml名前空間)。 ここ数年では、XDocument(System.Xml.Linq名前空間)。 他のオブジェクト操作とも親和性がいいので、断固Linqがいいですね。

TinyPine
質問者

お礼

ご回答ありがとうございます。 VB.netのでの推奨との事でXMLを少しいじってみましたが、XMLはシステム間の移行がし易いとか、項目の追加が簡単とかが書かれていますが、現場の人にとって障害が発生したなどの緊急時のメインテナンスではIniファイルの方が簡単であると感じました。 XML自体はもう少し学習してみますが、今回のシステムではせっかくIniファイルを実装したので、Iniファイルでいこうと思います。 ありがとうございました。

関連するQ&A