C# XmlDocument.Load 路径问题

heiooyooy 2011-09-28 02:35:33
各位大侠,小弟请教一个问题。
我想要在程序中读写XML文件,我在项目里添加了一个XML文件,然后通过
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("./MyXML.xml");
来载入这个文件。
但是为什么它保错说不能找到这个文件呢?我看了下它的路径,这个load方法为什么是去Bin/Debug文件夹下找的呢?
但是编译的时候为什么不会把这个文件拷贝到Debug文件夹下呢?
...全文
839 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
至尊贱客 2011-09-28
  • 打赏
  • 举报
回复
XmlDocument doc = new XmlDocument();
doc.Load(Application.StartupPath + "\\MyXML.xml");
孟子E章 2011-09-28
  • 打赏
  • 举报
回复
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);
heiooyooy 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dongxinxi 的回复:]
或者属性里面的编译选项里选总是复制
[/Quote]
必须先把Build Action改成Embedded Resource,并选择总是复制,才有用。
如果光是改成总是复制,而不改Build Action是没有用的,这是什么原因呢?
heiooyooy 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
XmlDocument x = new XmlDocument()
x.Load(temp.GetObject("MyXML.xml"))
试试
[/Quote]

这样不行。。。
  • 打赏
  • 举报
回复
或者属性里面的编译选项里选总是复制
孟子E章 2011-09-28
  • 打赏
  • 举报
回复
XmlDocument x = new XmlDocument()
x.Load(temp.GetObject("MyXML.xml"))
试试
heiooyooy 2011-09-28
  • 打赏
  • 举报
回复
把他的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");
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
sdl2005lyx 2011-09-28
  • 打赏
  • 举报
回复
“编译的时候为什么不会把这个文件拷贝到Debug文件夹下呢?”
编译器怎么知道要拷贝文件呢!
heiooyooy 2011-09-28
  • 打赏
  • 举报
回复
补充一下,我在做WPF的东西,所以不能用server.mappath()来返回路径。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧