2010-08-20 60 views
1

我很麻烦,所以需要一些帮助。 我已经存储在以下路径我的文件 - >需要我的wpf应用程序的相对文件路径

H:\Testapps\appz\Sample1\Sample1\Data.xml 

我试图加载XML文件在这样一个XmlDocument - >

XMLDocument xdoc=new XMLDocument(); 
string xmlfile = "..\Sample1\Data.xml"; 
xdoc.Load(xmlfile); 

我得到一个错误 -

找不到路径的一部分 'H:\ Testapps \ appz \ Sample1 \ Sample1 \ bin \ Debug \ Sample1 \ Sample1 \ RemData.xml'。

如何继续指定xmlfile路径? 任何帮助表示赞赏!


我面临的另一个问题是,当我试图通过提供XML文件的只是名字,我没有看到保存在XML文件的内容写在现有的XML文件中的新节点。

但是,如果我提供了xml文件的完整路径,数据将保存在aml文件中。

我使用

xdoc.Save("RemData.xml"); 

我想一个部分文件路径,而不是H:\Testapps\appz\Sample1\Sample1\bin\Debug\Sample1\Sample1\RemData.xml但如何?

回答

2

您正在使用相对路径。这样做意味着您要告诉应用程序使用可执行文件的目录作为“根路径”。你可能想要的是自动将XML文件复制到输出目录。为此,我通常将XML文件的“Build Action”属性设置为“Embedded Resource”,并将“Copy to Output Directory”设置为“Always Always”。希望这可以帮助。你可能还想看看Pack URI's

+1

如果您要复制到输出,请执行其中一个或另一个操作,您不想打扰将它们作为嵌入式资源。如果嵌入式资源实际上可能是最好的,那么您需要使用资源流来实现它。 – 2010-08-20 18:05:03

+0

谢谢! 你让它变得如此简单快速:) – laksh 2010-08-20 18:06:48

+0

感谢Karmicpuppet和jimmy。 – laksh 2010-08-20 18:10:55