|
■No9916 (VB楽しい さん) に返信
> XMLファイルを外部から読み込む場合には、ファイルパスを指定して簡単に
> 取得できたのですが、ソリューションへ追加した場合のファイルパス?は
> どのようになるのでしょうか。
> ファイルパスとかではなく、ソリューションエクスプローラのリストから
> 取得できるようなクラスが用意されているのでしょうか。
>
ソリューション、というかプロジェクトに追加しただけでは外部ファイルと同じじゃないかと思いマス。
ビルド時の配置場所になっているだけデス。
管理しやすいかどうかは別として、そのXMLが読み込み専用として扱えるならば
ビルドアクションとしてそのXMLを「埋め込まれたリソース」としておき、
GetManifestResourceStreamを利用して実行中のアセンブリから読み込むことは出来マス。
Imports System.Reflection
Dim asm As Assembly = Assembly.GetExecutingAssembly()
Dim sr As New System.IO.StreamReader( _
asm.GetManifestResourceStream("名前空間.埋め込んだXML名"), _
System.Text.Encoding.GetEncoding("XMLの文字コード"))
あとはこのストリームをXMLDocumentなどにLoadさせてあげればいいわけデス。
|