如项目是XPathTest,里面有Form1.cs,Program.cs,XMLFile.xml文件,我在Form1.cs中读取XMLFile.xml文件的代码是:
XmlDocument doc=new XmlDocument();
doc.Load("XMLFile.xml");
但是这样写的话XMLFile.xml是找不到的,因为相对路径不正确,请问应该怎么填写上面代码的相对路径才能正确读取呢?
ps:不需要将XMLFile.xml移入\bin\debug文件夹的方法
谢谢啦~~^^

解决方案 »

  1.   

    将 XML文件的路径保存在 app.config 里面,需要的时候读取。
      

  2.   


    获取应用程序的当前工作目录 + XML 文件。
    string str = System.IO.Directory.GetCurrentDirectory() + XMLFile.xml;
      

  3.   

    看你的XML文件放在哪个目录下,你只要写相对于bin\Debug的路径即可。比如如果你是放在与项目文件相同的目录下,那么就是doc.Load("..\..\XMLFile.xml");还有两种方法你可以考虑第一种是,如果这个XML文件正好位于项目文件所在的目录下,那么你可以点击解决方案资源管理器中的“显示所有文件”按钮,然后将这个XML文件include进来,并设置其“Copy To Output Directory”为“Copy Always”第二种是,将这个XML添加到项目的资源中我建议你还是把XML文件放到可执行程序所在的目录,或其子目录中,这样做有助于将来打包发布。毕竟你最后发布的时候是不会把项目源代码文件发布出去的。
      

  4.   

    XmlDocument doc = new XmlDocument();
    doc.Load(Application.StartupPath + "XMLFile.xml")