0

クラスライブラリを作成していて、ソリューションディレクトリにconfigというフォルダを作成しました。フォルダーに1つのxmlを配置しました。

クラス関数にxmlファイルをロードする方法は?

私は以下のように試しました、それはロードされていません

        XmlDocument contentxml = new XmlDocument();
        String configxmlfile = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Config\\instruction.xml";
        contentxml.Load(configxmlfile);

そして、xmlファイルをdllにバインドしたいのですが、これは、dllを別のアプリケーションにアップロードし、dllからクラスを呼び出し、クラスがそこでxmlファイル情報を探すためです。

4

2 に答える 2

1

アセンブリにxmlを埋め込むため

1. Right click the xml file and Select properties
2. In the Properties Pane Set the BuildAction as Embeded resource
So this Xml becomes a embeded resource when the application is compiled

次に、次のコードでアセンブリからxmlを読み取ることができます

   System.Reflection.Assembly _assembly = Assembly.GetExecutingAssembly();
   System.IO.Stream _xmlStream = _assembly.GetManifestResourceStream("[[YourNamespace]].[[XMLFileName.xml]]");
   System.IO.StreamReader _textStreamReader = new System.IO.StreamReader(_xmlStream);
   string xml = _textStreamReader.ReadToEnd();
于 2012-07-26T11:02:01.163 に答える
0

たとえば、プロジェクトに「リソースファイル」を追加し、このリソースファイル(Resources.resx)にxmlを追加できます。

xml(私の例ではconfig.xml)のコンテンツを取得するためのコードを次に示します。

public class Class1
{
    public XDocument GetXml()
    {
        return XDocument.Parse(Resources.config);
    }
}

今、別のプロジェクトで:

MyClassLibrary.Class1 c = new MyClassLibrary.Class1();
var xml = c.GetXml();
于 2012-07-26T11:00:41.880 に答える