从项目目录加载XML文件

时间:2011-05-27 10:20:06

标签: c# wpf

我的WPF项目中有一个由字体,图像和XML文件组成的“assets”文件夹。如何使用C#从项目目录中读取XML文件?在程序集上尝试过,但找不到该文件。关于XAML可以非常轻松地从该文件夹下载图像。

当我使用跟随字符串时,找不到该文件。如何从项目目录加载我的XML文件?

string stream = "pack://application:,,,/ReferencedAssembly;component/assets/myxml.xml";

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:5)

使用Linq to Xml加载文件的一个解决方案是:

XDocument myxml = XDocument.Load(@"assets\myxml.xml");

答案 1 :(得分:1)

在深度和深度网络搜索后:

设置"构建动作" XML文件的属性为"嵌入式资源"。

并使用:

XDocument xdoc = XDocument.Load(this.GetType().Assembly.GetManifestResourceStream("ProjectName.FolderName.XmlArchive.xml"));

= d

答案 2 :(得分:0)

我有一个非常类似的问题,我无法从项目结构中的文件夹加载文件。所有设置都是正确的,但仍然是返回IO错误。

所有答案可能都是正确的 - 但在我的情况下,它仍然想要加载文件。需要更多地更改一个属性:

  • 构建操作=嵌入资源
  • 复制到输出目录=始终复制

不设置为"嵌入式资源"我的程序无法访问它。改变后它正在运作。

答案 3 :(得分:-1)

string strAppPath = AppDomain.CurrentDomain.BaseDirectory; 私有XDocument xDoc = XDocument.Load(strAppPath +“ ActionCol \ actionInfo1.xml”);