2010年6月22日火曜日

XMLファイルをリソースとして使用する方法

標準的なリソース(Resources.resx など)は文字列、イメージなどを含めることができますが、ちょっと複雑な情報を取り扱うには何かと不便です。

例えば、1つのキーに複数の情報を付加したい場合、文字列リソースを","(カンマ)区切りにするなど、工夫が必要になります(当然、情報にカンマが含まれていてはならない)。
と、いう訳で XMLファイルをリソースとして利用する方法をご照会します。

<例>
  プロジェクト名:SampleProject
  XMLファイル:Hoge.xml (プロジェクトの直下)

<設定>
  Hoge.xml のプロパティを表示します。
  ビルドアクションに「埋め込まれたリソース」を選択します。

<ソース>
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();

using (System.IO.Stream xmlStream = assembly.GetManifestResourceStream("SampleProject.Hoge.xml"))
{
    if (xmlStream != null)
    {
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(xmlStream);
        // ~XMLファイル操作~
        xmlStream.Close();
    }
}

以上で、アセンブリに XMLファイルをリソースとして埋め込むことができます。

0 件のコメント:

コメントを投稿