使用保存对话框保存创建的 XML 文件

Posted

技术标签:

【中文标题】使用保存对话框保存创建的 XML 文件【英文标题】:Save Created XML file with save dialogue box 【发布时间】:2012-03-27 07:48:02 【问题描述】:

我使用 xmltextwriter 创建 xml 文件并保存在开发 D: 驱动器上。现在我想允许带有对话框的用户将文件保存在所需的位置。

谢谢

【问题讨论】:

下面是代码 xmlFileName = "EFIX.036003.CMF.FIX."+sDate+".CMF003.xml"; XmlTextWriter w = new XmlTextWriter(@"D:\"+xmlFileName, Encoding.UTF8); w.Formatting = Formatting.Indented; 【参考方案1】:

你不指定环境,这里是WinForms的代码sn-p:

static class Example

    public static XmlTextWriter GetWriterForFolder(string fileName, Encoding encoding)
    
        FolderBrowserDialog dlg = new FolderBrowserDialog();
        if (dlg.ShowDialog() != DialogResult.OK)
            return null;

        XmlTextWriter writer = new XmlTextWriter(Path.Combine(dlg.SelectedPath, fileName), encoding);
        writer.Formatting = Formatting.Indented;

        return writer;
    

    public static XmlTextWriter GetWriterForFile(Encoding encoding)
    
        SaveFileDialog dlg = new SaveFileDialog();
        dlg.Filter = "XML Files (*.xml)|*.xml";

        if (dlg.ShowDialog() != DialogResult.OK)
            return null;

        XmlTextWriter writer = new XmlTextWriter(dlg.FileName, encoding);
        writer.Formatting = Formatting.Indented;

        return writer;
    

GetWriterForFolder 函数让用户选择一个文件夹来保存文件,你必须提供一个文件名作为参数。像这样:

string fileName = "EFIX.036003.CMF.FIX." + sDate + ".CMF003.xml";
XmlTextWriter writer = Example.GetWriterForFolder(fileName, Encoding.UTF8);

GetWriterForFile 函数让用户选择要使用的文件夹和文件名。像这样:

XmlTextWriter writer = Example.GetGetWriterForFile(Encoding.UTF8);

【讨论】:

感谢@adriano 的回复,您能告诉我在Web 应用程序中的按钮单击我如何​​向用户显示保存对话框下面是我在按钮单击xmlFileName = "EFIX.036003.CMF.FIX 上的代码" ."+sDate+".CMF003.xml"; XmlTextWriter w = new XmlTextWriter(@"D:\"+xmlFileName, Encoding.UTF8); w.Formatting = Formatting.Indented; w.WriteStartDocument(); w.WriteStartElement("文档"); w.WriteAttributeString("xmlns:xsi","w3.org/2001/XMLSchemainstance"); w.WriteEndElement(); w.WriteEndDocument(); w.Close(); 在网络应用程序中?用 ASP.NET 标记您的问题!这真的不同!普通的 ASP.NET? MVC?服务器应提供创建文件的 URL,用户可以单击链接(或链接按钮)下载文件并将其保存在本地。 大家好,我已经使用 httpresponse 解决了我的问题。创建 xml 后,我使用 httpresponse 内容类型为 text/xml,谢谢所有

以上是关于使用保存对话框保存创建的 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章

iTextSharp:创建 PDF 文件时显示“打开/保存”对话框

在文本文件中写入文本并使用保存对话框保存

如何让用户保存到目录?

如何制作excel模板并保存使用?

如何使用保存文件对话框保存文件

Windows 10:无需保存对话框即可打印 PDF 文件的简单方法