如何将xml文件嵌入资源文件

时间:2010-08-23 13:14:37

标签: c#-2.0

我想将xml文件嵌入到项目中的资源文件中,每当我需要文件时我必须从资源中获取并使用它,如何执行此操作并且我想修改xml文件的内容取决于我的要求。如何做到这一点

1 个答案:

答案 0 :(得分:12)

如果将XML文件添加到Visual Studio项目,并在其属性窗口中选择 Build Action :Embedded resource,该文件将嵌入到该项目的构建输出工件中

要从代码中访问它,请使用以下内容:

string resourceName = "Namespace.Prefix.FileName.xml";
Assembly someAssembly = LoadYourAssemblyContainingTheResource();
XmlDocument xml = new XmlDocument();
using (Stream resourceStream = someAssembly.GetManifestResourceStream(resourceName))
{
    xml.Load(resourceStream);
}
// The embedded XML resource is now available in: xml

如果您加载的资源已嵌入您自己的程序集中,您可以执行Assembly.GetExecutingAssembly()之类的操作来实现上面列出的LoadYourAssemblyContainingTheResource(),或者可能typeof(SomeTypeInYourResourceAssembly).Assembly

目前还不清楚“想要修改内容”是什么意思 - 您无法在运行时修改程序集内的资源,但每当您更改XML文件并重新编译时,都会嵌入新版本。