我想将 xml 文件嵌入到我的项目中的资源文件中,每当我需要该文件时,我必须从资源中获取它并使用它,如何做到这一点,我想根据我的要求修改 xml 文件的内容.如何做到这一点
如果将 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 文件并重新编译时,都会嵌入新版本。
在 Visual Studio (2022) 中,您可能想要使用现有的或创建新的 resources.resx 或任何其他适当的 resx 文件。
在 VS 项目资源管理器中...
XDocument myXml = XDocument.Parse(myNamespace.Properties.Resources.LdPropertyTemplate);
将资源“myNamespace.Properties”的路径调整为您的项目设置。