Программа создания и проведения тестов не записывает в 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д