加载XML(从内部项目文件夹)

时间:2014-07-30 08:54:22

标签: c# xml visual-studio-2012 linq-to-xml

运行我的XML时出现问题,我已将其放在一个文件夹中(来自我的项目) 如果我的XML是我的解决方案的根源,那么它将起作用

private XDocument xDoc = XDocument.Load("actionInfo1.xml");

但如果我使用这种语法将它放入我的文件夹(来自我的项目),那么XML将无法找到

private XDocument xDoc = XDocument.Load(@"..\ActionCol\actionInfo1.xml");

错误是:

  

无法找到档案.....

如果它更新,我还检查了我的XML以将其自身复制到输出文件夹。 我有点困惑,因为我已经以类似的方式加载了CSV而没有任何大惊小怪。

2 个答案:

答案 0 :(得分:1)

使用此

private XDocument xDoc = XDocument.Load("~\ActionCol\actionInfo1.xml");

<强>被修改

如果是Windows应用程序,请尝试这个

string strAppPath = AppDomain.CurrentDomain.BaseDirectory;
private XDocument xDoc = XDocument.Load(strAppPath +"ActionCol\\actionInfo1.xml");

答案 1 :(得分:1)

问题是当程序运行时,它会在bin debug文件夹中搜索文件。所以你必须看看程序开始寻找的位置

例如。,

private XDocument xDoc = XDocument.Load(@"..\ActionCol\actionInfo1.xml");

实际上是

private XDocument xDoc = XDocument.Load(@"bin\Debug\ActionCol\actionInfo1.xml");

所以如果你把文件放在ActionCol文件夹中,你必须这样做

private XDocument xDoc = XDocument.Load(@"..\..\ActionCol\actionInfo1.xml");

如果这可以解决您的问题,请告诉我