Программа создания и проведения тестов не записывает в XML файл - C#
Формулировка задачи:
Программа создания и проведения тестов. Сами тесты сохраняются в XML файле в следующем виде:
и т. д.
в ходе выполнения программы в режиме создания теста происходит ввод вопросов, ответов и других параметров. При выборе действия "Сохранить тест", программа выполняет следующие процедуры:
После выполнения этих действий проверяю XML файл, который находится в папке Debug проекта. Изменений в файле нет.
Листинг программы
- <тест>
- <название теста>
- <количество вопросов>
- <вопрос>
- <текст вопроса>
- <тип вопроса (один вариант ответа, несколько вариантов и т.д.)>
- <цена вопроса (количество получаемых баллов за ответ)>
- <количество вариантов ответа>
- <ответ>
- <текст ответа>
- <правильность ответа (0 или 1)>
Листинг программы
- private void button4_Click(object sender, EventArgs e)
- {
- XmlDocument doc = new XmlDocument();
- doc.Load("tests.xml");
- tst = new Test(textBox1.Text, qst); /*1-й параметр - имя теста, 2-й параметр - List с объектами типа Quest (класс вопроса)*/
- if (tst.Check() == false) MessageBox.Show("Ошибка структуры теста"); /*Check - метод проверки теста на ошибки*/
- else WriteToXML(doc);
- }
- public void WriteToXML(XmlDocument doc)
- {
- XmlNodeList nodeList = doc.DocumentElement.ChildNodes;
- XmlNode TestNode = doc.CreateElement("test");
- XmlNode NameNode = doc.CreateElement("name");
- NameNode.InnerText = tst.test_name;
- TestNode.AppendChild(NameNode);
- XmlNode quest_quoteNode = doc.CreateElement("quest_quote");
- quest_quoteNode.InnerText = Convert.ToString(qst.Count);
- TestNode.AppendChild(quest_quoteNode);
- XmlNode questionNode = doc.CreateElement("question");
- TestNode.AppendChild(questionNode);
- for (int i = 0; i < qst.Count; i++) /*цикл на количество вопросов*/
- {
- XmlNode questNode = doc.CreateElement("quest");
- questNode.InnerText = qst[i].quest_name;
- questionNode.AppendChild(questNode);
- XmlNode typeNode = doc.CreateElement("type");
- typeNode.InnerText = qst[i].type.ToString();
- questionNode.AppendChild(typeNode);
- XmlNode priceNode = doc.CreateElement("price");
- priceNode.InnerText = qst[i].price.ToString();
- questionNode.AppendChild(priceNode);
- XmlNode var_quoteNode = doc.CreateElement("var_quote");
- var_quoteNode.InnerText = qst[i].vars.Count.ToString();
- questionNode.AppendChild(var_quoteNode);
- XmlNode answerNode = doc.CreateElement("answer");
- questionNode.AppendChild(answerNode);
- for (int j = 0; j < qst[i].vars.Count; j++) /*цикл на количество ответов в выбранном вопросе*/
- {
- XmlNode textNode = doc.CreateElement("text");
- textNode.InnerText = qst[i].vars[j].text;
- answerNode.AppendChild(textNode);
- XmlNode rightNode = doc.CreateElement("right");
- rightNode.InnerText = qst[i].vars[j].right.ToString();
- answerNode.AppendChild(rightNode);
- }
- }
- doc.Save("tests.xml");
- }
Решение задачи: «Программа создания и проведения тестов не записывает в XML файл»
textual
Листинг программы
- doc.DocumentElement.AppendChild(TestNode);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д