我想将xml文件嵌入到项目中的资源文件中,每当我需要文件时我必须从资源中获取并使用它,如何执行此操作并且我想修改xml文件的内容取决于我的要求。如何做到这一点
答案 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文件并重新编译时,都会嵌入新版本。