C#:当我想通过 SaveFileDialog 保存文件时发生错误?
C#: Error occuring when I want to save a file via SaveFileDialog?
我的 C# 代码有点问题。
在我的方法中,我创建了一个 XDocument/XML-File 之后,我想通过 SaveFileDialog 保存它。
它一切正常,直到我单击对话框中的 "Save"-按钮,然后出现错误,显示“文件 C:\Users\User\Desktop\XMLOutput.xml 不存在。
检查是否指示了正确的文件名。"
所以这是我的代码:
public void Create_XMLFile()
{
XDocument xDoc = new XDocument(
new XElement("itemlist",
new XElement("item",
new XAttribute("article", "1"),
new XAttribute("quantity", "200"),
new XAttribute("price", "35")))
);
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.InitialDirectory = "C:\";
saveFileDialog.CheckFileExists = true;
saveFileDialog.CheckPathExists = true;
saveFileDialog.DefaultExt = "xml";
saveFileDialog.Filter = "XML (*.xml)|*.xml|All (*.*)|*.*";
saveFileDialog.FilterIndex = 2;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.FileName = "XMLOutput";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
xDoc.Save(saveFileDialog.FileName);
}
}
// Button, which triggers the method above
private void Export_Click(object sender, RoutedEventArgs e)
{
Create_XMLFile();
}
是啊,我的代码哪里出了问题?我只是想保护 XML-File 用户选择的路径。但正如我所说,在单击 Windows-对话框中的 "Save"-按钮后,我总是收到此错误消息。 :(
希望大家能帮帮我。
您正在设置 saveFileDialog.CheckFileExists = true;
如果文件 不 存在,这将使对话框准确显示此警告。对于“打开”对话框,您通常会将此设置为 true,而不是“保存对话框”。另一方面,saveFileDialog.OverwritePrompt
通常在保存时设置为 true。
我的 C# 代码有点问题。
在我的方法中,我创建了一个 XDocument/XML-File 之后,我想通过 SaveFileDialog 保存它。 它一切正常,直到我单击对话框中的 "Save"-按钮,然后出现错误,显示“文件 C:\Users\User\Desktop\XMLOutput.xml 不存在。 检查是否指示了正确的文件名。"
所以这是我的代码:
public void Create_XMLFile()
{
XDocument xDoc = new XDocument(
new XElement("itemlist",
new XElement("item",
new XAttribute("article", "1"),
new XAttribute("quantity", "200"),
new XAttribute("price", "35")))
);
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.InitialDirectory = "C:\";
saveFileDialog.CheckFileExists = true;
saveFileDialog.CheckPathExists = true;
saveFileDialog.DefaultExt = "xml";
saveFileDialog.Filter = "XML (*.xml)|*.xml|All (*.*)|*.*";
saveFileDialog.FilterIndex = 2;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.FileName = "XMLOutput";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
xDoc.Save(saveFileDialog.FileName);
}
}
// Button, which triggers the method above
private void Export_Click(object sender, RoutedEventArgs e)
{
Create_XMLFile();
}
是啊,我的代码哪里出了问题?我只是想保护 XML-File 用户选择的路径。但正如我所说,在单击 Windows-对话框中的 "Save"-按钮后,我总是收到此错误消息。 :(
希望大家能帮帮我。
您正在设置 saveFileDialog.CheckFileExists = true;
如果文件 不 存在,这将使对话框准确显示此警告。对于“打开”对话框,您通常会将此设置为 true,而不是“保存对话框”。另一方面,saveFileDialog.OverwritePrompt
通常在保存时设置为 true。