我第一次使用这个XML类,但找不到这条信息。
我在做:
xmlDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
xmlDoc.Add(new XElement("Images"));
xmlDoc .Save("C:\\Backup\\images.xml");
但是不起作用。它只适用于我只使用文件名,如“images.xml”,但当然,文件会保存在执行路径上。
答案 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);
添加该行之后,一切都很好。