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

标签 c# xml io linq-to-xml

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

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

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

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

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

最佳答案

a) 您不想选择文件夹,而是选择文件名(保存*文件*对话框)

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

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

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

a) 文件夹浏览器对话框

b) FolderBrowserDialog.SelectedPath

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

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

关于c# - 如何将 XDocument 的 XML 内容保存为 .xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10057609/

相关文章:

c# - STAThread 和多线程

c# - 如何在 asp.net 中的数据列表之间添加分隔符?

android - 抽屉导航 xml 错误

c++ - 如何将字节形式的输入写入输出文件?

java - 如何检查击键序列

c# - Visual Studio mac 2019(社区)-PresentationCore-找不到 .Net Framework 4 的程序集

c# - Mongodb Bson类型转Json

java - 在从 Volley 中加载数据时向应用程序添加进度对话框

java - XML结构的复杂度对解析速度有影响吗?

Java.net 在线解析 html 时哪个速度最快?