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

问题描述 投票:0回答:2

我想将 xml 文件嵌入到我的项目中的资源文件中,每当我需要该文件时,我必须从资源中获取它并使用它,如何做到这一点,我想根据我的要求修改 xml 文件的内容.如何做到这一点

c#-2.0
2个回答
13
投票

如果将 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 文件并重新编译时,都会嵌入新版本。


0
投票

在 Visual Studio (2022) 中,您可能想要使用现有的或创建新的 resources.resx 或任何其他适当的 resx 文件。

在 VS 项目资源管理器中...

  1. 双击资源文件将打开资源设计器。
  2. 从菜单中(位于设计器上方,但不是很明显),选择“添加资源”,
  3. 添加现有的 fileName.xml。设计器自动生成一个代码隐藏访问器。
  4. 使用所述访问器读取 xml 资源,就像这样

XDocument myXml = XDocument.Parse(myNamespace.Properties.Resources.LdPropertyTemplate);

将资源“myNamespace.Properties”的路径调整为您的项目设置。

© www.soinside.com 2019 - 2024. All rights reserved.