Программа создания и проведения тестов не записывает в XML файл - C#

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

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

Программа создания и проведения тестов. Сами тесты сохраняются в XML файле в следующем виде:
Листинг программы
  1. <тест>
  2. <название теста>
  3. <количество вопросов>
  4. <вопрос>
  5. <текст вопроса>
  6. <тип вопроса (один вариант ответа, несколько вариантов и т.д.)>
  7. <цена вопроса (количество получаемых баллов за ответ)>
  8. <количество вариантов ответа>
  9. <ответ>
  10. <текст ответа>
  11. <правильность ответа (0 или 1)>
и т. д. в ходе выполнения программы в режиме создания теста происходит ввод вопросов, ответов и других параметров. При выборе действия "Сохранить тест", программа выполняет следующие процедуры:
Листинг программы
  1. private void button4_Click(object sender, EventArgs e)
  2. {
  3. XmlDocument doc = new XmlDocument();
  4. doc.Load("tests.xml");
  5.  
  6. tst = new Test(textBox1.Text, qst); /*1-й параметр - имя теста, 2-й параметр - List с объектами типа Quest (класс вопроса)*/
  7. if (tst.Check() == false) MessageBox.Show("Ошибка структуры теста"); /*Check - метод проверки теста на ошибки*/
  8. else WriteToXML(doc);
  9. }
  10. public void WriteToXML(XmlDocument doc)
  11. {
  12. XmlNodeList nodeList = doc.DocumentElement.ChildNodes;
  13. XmlNode TestNode = doc.CreateElement("test");
  14. XmlNode NameNode = doc.CreateElement("name");
  15. NameNode.InnerText = tst.test_name;
  16. TestNode.AppendChild(NameNode);
  17. XmlNode quest_quoteNode = doc.CreateElement("quest_quote");
  18. quest_quoteNode.InnerText = Convert.ToString(qst.Count);
  19. TestNode.AppendChild(quest_quoteNode);
  20. XmlNode questionNode = doc.CreateElement("question");
  21. TestNode.AppendChild(questionNode);
  22. for (int i = 0; i < qst.Count; i++) /*цикл на количество вопросов*/
  23. {
  24. XmlNode questNode = doc.CreateElement("quest");
  25. questNode.InnerText = qst[i].quest_name;
  26. questionNode.AppendChild(questNode);
  27. XmlNode typeNode = doc.CreateElement("type");
  28. typeNode.InnerText = qst[i].type.ToString();
  29. questionNode.AppendChild(typeNode);
  30. XmlNode priceNode = doc.CreateElement("price");
  31. priceNode.InnerText = qst[i].price.ToString();
  32. questionNode.AppendChild(priceNode);
  33. XmlNode var_quoteNode = doc.CreateElement("var_quote");
  34. var_quoteNode.InnerText = qst[i].vars.Count.ToString();
  35. questionNode.AppendChild(var_quoteNode);
  36. XmlNode answerNode = doc.CreateElement("answer");
  37. questionNode.AppendChild(answerNode);
  38. for (int j = 0; j < qst[i].vars.Count; j++) /*цикл на количество ответов в выбранном вопросе*/
  39. {
  40. XmlNode textNode = doc.CreateElement("text");
  41. textNode.InnerText = qst[i].vars[j].text;
  42. answerNode.AppendChild(textNode);
  43. XmlNode rightNode = doc.CreateElement("right");
  44. rightNode.InnerText = qst[i].vars[j].right.ToString();
  45. answerNode.AppendChild(rightNode);
  46. }
  47. }
  48. doc.Save("tests.xml");
  49. }
После выполнения этих действий проверяю XML файл, который находится в папке Debug проекта. Изменений в файле нет.

Решение задачи: «Программа создания и проведения тестов не записывает в XML файл»

textual
Листинг программы
  1. doc.DocumentElement.AppendChild(TestNode);

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


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

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

11   голосов , оценка 4.455 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы