ReadXml()方法的奇怪行为

时间:2013-09-20 09:03:15

标签: c# xml winforms

我正在尝试使用以下语法读取XML文件并将其存储在数据表中:

dtServerNames.ReadXml("ServerPaths.xml");

Could not find file 'c:\documents and settings\590000\my documents\visual studio 2010\Projects\EasyDeployer\EasyDeployer\bin\Debug\ServerPaths.xml'

该文件放在应用程序的根目录中,即在以下路径中:

c:\documents and settings\590000\my documents\visual studio 2010\Projects\EasyDeployer\EasyDeployer

但是,它正在bin foler中查找文件。即使我给出了完整的路径,也就是说文件不存在。

以下是我所指的XML文件:

<?xml version="1.0" encoding="utf-8" ?>
<ServerList>
  <ServerName>
    Dev Server 1
  </ServerName>
  <ServerPath>
    C:\Avinash\Dev1
  </ServerPath>
  <ServerName>
    Dev Server 1
  </ServerName>
  <ServerPath>
    C:\Avinash\Dev2
  </ServerPath>
</ServerList>

我已正确检查了文件的存储位置。所以,我无法找到为什么会发生这种情况..

为什么会发生这种情况以及我可以做出哪些改变才能使其发挥作用?

我正在给出这样的完整路径:

dtServerNames.Read(" c:\\documents and settings\\590000\\my documents\\visual studio 2010\\Projects\\EasyDeployer\\EasyDeployer");

1 个答案:

答案 0 :(得分:1)

如果你想要读取这样的文件,你必须将你的文件放在bin文件夹中,否则你就无法像这样阅读它。

如果要将文件放在bin文件夹以外的其他位置,则需要提供该文件夹的完整路径。

如果提供完整的路径而不仅仅是这样做

System.Xml.XmlTextReader reader =
  new System.Xml.XmlTextReader(@"C:\Projects\projectname\XMLFile1.xml");