XmlDocument xDoc = new XmlDocument();
XmlNode xNode = xDoc.SelectSingleNode("//appSettings");这个文件的路径是bin\Debug下的。
我改变了节点的内容后保存xDoc.Save(("//appSettings");
现在的问题是,我打包软件,然后安装,似乎这个路径不对,不明白,请教怎么解决?

解决方案 »

  1.   

    xDoc.Save(("//appSettings");你这个多了个'('.
    你读取的路径是什么?直接把你读取的路径复制过来不就ok了,能读出来,就能写进去。要不就是你程序错了,要调试一下
      

  2.   

    使用Environment.CurrentDirectory获取当前当前路径xDoc.Save(Path.Combine(Environment.CurrentDirectory,"//appSettings"));
      

  3.   

    xDoc.Save(("//appSettings");
     这里的参数是一个完整的文件路径,不是节点名字。
      

  4.   


    string AppPath = Environment.CurrentDirectory + "\\app.config";
    XmlDocument xDoc = new XmlDocument();
    xDoc.Load(AppPath);
    XmlNode xNode = xDoc.SelectSingleNode(@AppPath);

    这个好像还是不对,debug报错了,请教路径怎么改?能保证打包过后路径正确,还能正常的读写
      

  5.   


    debug中或发布的app.config会重命名的。名字规则如下:你的可执行文件名.exe.config把你的“app.config”名字改成“你的可执行文件名.exe.config”
      

  6.   

    把你的“app.config”名字改成“你的可执行文件名.exe.config”
    兄弟,我测试了好像不行
      

  7.   

    你是怎么打包的啊,直接Application.StartupPath+"//appSettings"不行吗
      

  8.   

    C# 已经提供了操作app.config的现成类,没必要再以XML的形式来操作它,参考:http://developer.51cto.com/art/200908/146303.htm
      

  9.   

    先声明一个全局变量,在读取的时候,把路径赋给变量,写入的时候直接把变量写进来。Environment.CurrentDirectory这个是会变化的
    我觉的你其它的应该没什么问题,应该是这个问题,你跟一下代码,看看读取时候的路径和保存时候的路径是否一样!