如何将xml文件嵌入到资源文件中
Posted
技术标签:
【中文标题】如何将xml文件嵌入到资源文件中【英文标题】:how to embed an xml file to a resource file 【发布时间】:2010-08-23 13:14:37 【问题描述】:我想在我的项目中将一个 xml 文件嵌入到一个资源文件中,每当我需要该文件时,我必须从资源中获取它并使用它,如何做到这一点,我想根据具体情况修改 xml 文件的内容我的要求。如何做到这一点
【问题讨论】:
【参考方案1】:如果您将 XML 文件添加到 Visual Studio 项目,并在其属性窗口中选择 构建操作:嵌入式资源,则该文件将嵌入到该项目的构建输出工件中.
要从代码中访问它,请使用类似:
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 文件并重新编译时,都会嵌入新版本。
【讨论】:
我需要根据文件设置一些颜色代码,嵌入后如何获取文件和读取值 如果我使用 getmanifestresourcestream 我会得到一个流,我应该把它作为一个文件,我必须使用文件来加载。是这样吗? 更新示例以显示从资源流中实际加载 XmlDocument。以上是关于如何将xml文件嵌入到资源文件中的主要内容,如果未能解决你的问题,请参考以下文章