C# 如何将XDocument的XML内容保存为.XML文件?
我有一个XDocument类,其中包含已经生成的XML内容。我基本上想打开一个SaveFileDialog,让用户选择一个文件夹(不是文件),在其中将内容保存为.xml文件 我在这样做时遇到了一些困难: a) 如何使用SaveFileDialog提示用户选择文件夹?我只能用它让用户选择一个文件 b) 如何从SaveFileDialog提取所选路径 c) 获得路径后,如何保存XDocument的内容?有一个名为Save的方法需要一个流-如何使用路径构建流?(这可能是一个基本问题,我几乎没有IO经验)a)您不想选择文件夹,而是选择文件名(保存*文件*对话框) b) SaveFileDialog.FileName c) 看看不同的重载:您有XDocument.Save(字符串文件名)。不需要流,您可以有一个文件名(哦,您在SaveFileDialog中获得了它) 编辑:您的意思是用户不能更改文件名? 然后 a) FolderBrowser对话框 b) FolderBrowserDialog.SelectedPath c) XDocument.Save(FolderBrowserDialog.SelectedPath+“/”+用户不能更改的文件名) (edit2:Path.Combine在c中更优雅。)A&B(重复问题的示例代码):C# 如何将XDocument的XML内容保存为.XML文件?,c#,xml,io,linq-to-xml,C#,Xml,Io,Linq To Xml,我有一个XDocument类,其中包含已经生成的XML内容。我基本上想打开一个SaveFileDialog,让用户选择一个文件夹(不是文件),在其中将内容保存为.xml文件 我在这样做时遇到了一些困难: a) 如何使用SaveFileDialog提示用户选择文件夹?我只能用它让用户选择一个文件 b) 如何从SaveFileDialog提取所选路径 c) 获得路径后,如何保存XDocument的内容?有一个名为Save的方法需要一个流-如何使用路径构建流?(这可能是一个基本问题,我几乎没有IO经验
确保已将SaveFileDialog添加到表单中,并已签名到FileOk事件(可通过SaveFileDialog的属性完成),然后以下代码应适用于您的表单:
private void button1_Click(object sender, EventArgs e)
{
// When user clicks button, show the dialog.
saveFileDialog1.ShowDialog();
}
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
// Get file name.
string name = saveFileDialog1.FileName;
// Write to the file name selected.
xDocumentYouHave.Save(name);
}
你在同一个问题上问得太多了。把这个问题分成两个问题。一个用于保存文件对话框,另一个用于保存XDocument。
private void button1_Click(object sender, EventArgs e)
{
// When user clicks button, show the dialog.
saveFileDialog1.ShowDialog();
}
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
// Get file name.
string name = saveFileDialog1.FileName;
// Write to the file name selected.
xDocumentYouHave.Save(name);
}