如何将 XDocument 的 XML 内容保存为 .xml 文件?

Dan*_*iel 5 c# xml io linq-to-xml

我有一个 XDocument 类,其中包含已经制作的 XML 内容。我基本上想打开一个 SaveFileDialog,让用户选择一个文件夹(而不是文件)将内容保存为 .xml 文件。

我在这样做时遇到了一些困难:

a) 如何使用 SaveFileDialog 提示用户选择文件夹?我只能用它来让用户选择一个文件。

b) 如何从 SaveFileDialog 中提取所选路径?

c) 获得路径后,如何保存 XDocument 的内容?有一个叫做 Save 的方法需要一个 Stream - 如何使用路径构建流?(这可能是一个基本问题,我几乎没有IO经验)

Rap*_*aus 6

a) 您不想选择文件夹,而是选择文件名(Save* File *Dialog)

b) 保存文件对话框.文件名

c) 查看不同的重载:您有 XDocument.Save(string fileName)。不需要流,你可以有一个文件名(哦,你在SaveFileDialog中得到了它)

编辑:您的意思是用户不能更改文件名?然后

a) 文件夹浏览器对话框

b) FolderBrowserDialog.SelectedPath

c) XDocument.Save(FolderBrowserDialog.SelectedPath + "/" + THENAMEOFYOURFILETHATUSERCANTCHANGE)

编辑 2:Path.Combine 在 c)中更优雅)。