Ошибка считывания из xml файла - C#
Формулировка задачи:
при работе приложения возникает ошибка "Необработанное исключение типа "System.NullReferenceException" Дополнительные сведения: Ссылка на объект не указывает на экземпляр объекта"
Листинг программы
- private void List_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ListBox list = (ListBox)sender;
- Taask task =(Taask)list.SelectedItem;
- XDocument doc = XDocument.Load(@"XMLBAS.xml");
- foreach (var testElement in doc.Root.Elements())
- {
- if (testElement.Attribute("Name").Value == task.name && testElement.Attribute("Author").Value == task.author && testElement.Attribute("Qestions").Value == task.qestions)
- {
- foreach (var questionElement in testElement.Elements()) //ошибка
- {
- task.answers.Add(questionElement.Attribute("ans").Value);
- task.qestion.Add(questionElement.Attribute("qes").Value);
- }
- }
- }
- Window4 win = new Window4(task);
- win.Show();
- Close();
- }
Листинг программы
- <?xml version="1.0" encoding="utf-8" ?>
- <tasks>
- <test Name="Электорнные таблицы" Author="Кирилл Скофенко" Qestions="9">
- <question ans="6" qes="Чему будет равно значение ячейки С2?" />
- <question ans="180" qes="По данным электронной таблицы определите значение в ячейке С3 после копирования в нее формулы из ячейки С1"/>
- <question ans="F12" qes="Выберите верный адрес ячейки в электронной таблице:"/>
- </test>
- <test Name="123" Author="Кирилл Скофенко" Qestions="4"></test>
- </tasks>
Решение задачи: «Ошибка считывания из xml файла»
textual
Листинг программы
- private void List_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- ListBox list = (ListBox)sender;
- Taask task =(Taask)list.SelectedItem;
- XDocument doc = XDocument.Load(@"XMLBAS.xml");
- if (task != null)
- {
- foreach (var testElement in doc.Root.Elements())
- {
- if (testElement.Attribute("Name").Value == task.name && testElement.Attribute("Author").Value == task.author && testElement.Attribute("Qestions").Value == task.qestions)
- {
- foreach (var questionElement in testElement.Elements()) //ошибка
- {
- task.answers.Add(questionElement.Attribute("ans").Value);
- task.qestion.Add(questionElement.Attribute("qes").Value);
- }
- }
- }
- Window4 win = new Window4(task);
- win.Show();
- Close();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д