【问题标题】:Save a file in text or xml depending on which radio button is checked根据选中的单选按钮以文本或 xml 格式保存文件
【发布时间】:2017-06-18 00:49:05
【问题描述】:

我有一个应用程序,它允许用户根据选择的单选按钮检索 json 或 xml 中的部分数据,解析数据然后显示在某些 Window Application Form 控件中。他们可以选择将控件内的数据保存在文本文件或 XML 文件中,具体取决于他们选择的单选按钮(用于检索数据的单选按钮)。

每次我保存文件时,无论选择哪个单选按钮,它都不会以所选格式保存。当我检查计算机上的文件时,它只显示一个空白文档图标,类型为“文件”。

我的代码与此类似,并且位于按钮内:

SaveFileDialog newData  = new SaveFileDialog();

        if (newData.ShowDialog() == DialogResult.OK)
        {
            if (jsonRB.Checked)
            {
                newData.DefaultExt = "txt";

                string dataPath = newData.FileName;

                using (StreamWriter newFile = new StreamWriter(File.Create(dataPath)))
                {
                    //Writing string to save data

                }

            }
            else 
            {
                newData.DefaultExt = "xml";

                XmlWriterSettings adjust = new XmlWriterSettings();
                adjust.ConformanceLevel = ConformanceLevel.Document;

                adjust.Indent = true;


                using (XmlWriter newFile = XmlWriter.Create(newData.FileName, adjust))
                {
                    //writing data
                    newFile.WriteEndElement();

                }

            }
        }

【问题讨论】:

标签: c# json xml windows-applications savefiledialog


【解决方案1】:

这应该可以解决问题:

SaveFileDialog saveDlg = new SaveFileDialog();
if(jsonRB.Checked)
{
    //The default selected extension
    saveDlg.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
    //this is used if you select All files (*.*) but omit a extension
    saveDlg.DefaultExt = "txt"; 
}
else
{
    saveDlg.Filter = "XML files (*.xml)|*.xml|All files (*.*)|*.*";
    saveDlg.DefaultExt = "xml";
}
if(saveDlg.ShowDialog() == DialogResult.OK)
{
    if (jsonRB.Checked)
    {
        //Save JSON
    }
    else
    {
        //Save XML
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多