Сохранение xml после n нажатий кнопки - C#

Узнай цену своей работы

Формулировка задачи:

есть код, который сохраняет xml документ с данными, но необходимо произвести сохранение после n нажатий на кнопку, т.е. сначала заполнить xml данными, а затем его сохранить, а лучше вывести кнопку сохранения отдельно
private void button3_Click(object sender, EventArgs e)
        {
                SaveFileDialog saveDlg = new SaveFileDialog();
                saveDlg.FileName = "Вопросы";
                saveDlg.DefaultExt = "xml";
                saveDlg.Filter = "Файлы XML (*.xml)|*.xml";
                if (saveDlg.ShowDialog() != DialogResult.OK)
                    return;
 
                XmlTextWriter writer = null;
            
            try
            {
                writer = new XmlTextWriter(saveDlg.FileName, System.Text.Encoding.Unicode);
 
                writer.WriteStartDocument();
                writer.WriteStartElement("Вопросы");
                               
                    writer.WriteStartElement("Вопрос"+nom_vop);
                    writer.WriteAttributeString("question", textBox1.Text.ToString());
                
                    writer.WriteStartElement("correct_answer");
                    writer.WriteAttributeString("answer", textBox2.Text.ToString());
 
                    writer.WriteStartElement("wrong_answer1");
                    writer.WriteAttributeString("answer", textBox3.Text.ToString());
 
                    writer.WriteStartElement("wrong_answer1");
                    writer.WriteAttributeString("answer", textBox4.Text.ToString());
 
                    writer.WriteStartElement("wrong_answer1");
                    writer.WriteAttributeString("answer", textBox5.Text.ToString());
                        writer.WriteEndElement();
                                    
                writer.WriteEndElement();
                
                writer.WriteEndElement();
                writer.WriteEndDocument();
                nom_vop++;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка: " + ex.Message);
            }
            finally
            {
                if (writer != null)
                    writer.Close();
            }
           
        }
в результате получается такое содержание, а надо что бы <Вопрос1 question=""> было больше
<Вопросы>
<Вопрос1 question="йцукенгшщ">
<correct_answer answer="щшшш"/>
<wrong_answer1 answer="ььь"/>
<wrong_answer2 answer="ююю"/>
<wrong_answer3 answer="иии"/>
</Вопрос1>
</Вопросы>

Решение задачи: «Сохранение xml после n нажатий кнопки»

textual
Листинг программы
[XmlType]
public class Question
{
   public int Level {get;set;} //уровень сложности
   public string Text {get;set;} //Сам вопрос
   public string Answer {get;set;} //Ответ на него
   public readonly string[] InvalidAnswers = new string[3]; // Всякие доп. путающие ответы
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы