XDocument.Save到特定目录?

时间:2010-04-20 18:01:47

标签: c# xml

我第一次使用这个XML类,但找不到这条信息。

我在做:

xmlDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
xmlDoc.Add(new XElement("Images"));
xmlDoc .Save("C:\\Backup\\images.xml");

但是不起作用。它只适用于我只使用文件名,如“images.xml”,但当然,文件会保存在执行路径上。

3 个答案:

答案 0 :(得分:6)

默认情况下,除非您在提升的权限下运行程序,否则很可能无法保存到“C:\ Backup”。默认情况下,您只能保存“用户”文件夹。

答案 1 :(得分:2)

为我工作,必须是权限问题。尝试另一个目录或确保c:\ Backup存在

答案 2 :(得分:0)

我发布此消息是因为我遇到了类似情况。

我希望XDocument.Save()将创建一个不存在的路径。

(“期待!!”,我听过《黑皮书》的粉丝们说。)

似乎没有。鉴于其他Save方法确实如此,这对我来说似乎有点遗漏。或者,如果它们不存在,他们至少可以选择创建路径。

无论如何,我都同意这个问题有点模棱两可,但是解决方案(如果与不存在的路径有关)是首先创建它:

if (!Directory.Exists(Path.GetDirectoryName(myFilePath))) Directory.CreateDirectory(Path.GetDirectoryName(_myFilePath));

注意:在此示例中,MyFilePath是包括文件名和扩展名的完整路径。如果只有路径,它将是:

if (!Directory.Exists(myPath))) Directory.CreateDirectory(myPath);

添加该行之后,一切都很好。