各位大侠,小弟请教一个问题。
我想要在程序中读写XML文件,我在项目里添加了一个XML文件,然后通过
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("./MyXML.xml");
来载入这个文件。
但是为什么它保错说不能找到这个文件呢?我看了下它的路径,这个load方法为什么是去Bin/Debug文件夹下找的呢?
但是编译的时候为什么不会把这个文件拷贝到Debug文件夹下呢?

解决方案 »

  1.   

    补充一下,我在做WPF的东西,所以不能用server.mappath()来返回路径。
      

  2.   

    “编译的时候为什么不会把这个文件拷贝到Debug文件夹下呢?”
      编译器怎么知道要拷贝文件呢!
      

  3.   

    把他的Build Action改成Embedded Resource就会自动拷到Debug下了,哎。还有好多东西要学下。
    顺便请教一下谁知道怎么把XML文件放在资源文件中呢?
    我在资源文件中放了一个XML,但是取不到
     System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WpfApplication53.Resource1", typeof(Resource1).Assembly);
    XmlDocument x = (XmlDocument)temp.GetObject("MyXML.xml");
      

  4.   

    XmlDocument x = new XmlDocument()
    x.Load(temp.GetObject("MyXML.xml"))
    试试
      

  5.   

    必须先把Build Action改成Embedded Resource,并选择总是复制,才有用。
    如果光是改成总是复制,而不改Build Action是没有用的,这是什么原因呢?
      

  6.   

    System.Reflection.Assembly _assembly = System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Stream sStream = _assembly.GetManifestResourceStream("WindowsFormsApplication1.XMLFile1.xml");
    System.Xml.XmlDocument docx = new XmlDocument();
    docx.Load(sStream);
    MessageBox.Show(docx.OuterXml);
      

  7.   

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