Достаю из xml файла список учеников, хочу удалить одного из них и записать изменения. Вот так это выглядит:
public void DeleteStudent(int studentId)
{
string grade = GradeNumbers.SelectedValue.ToString() + GradeLetters.SelectedValue.ToString();
DeserializeStudents(grade);
Student student = students.FirstOrDefault(st => st.Id == studentId);
if (student != null)
{
students.Remove(student);
SerializeStudents(grade);
}
}
public void DeserializeStudents(string grade)
{
using (FileStream stream = new FileStream($"students{grade}.xml", FileMode.OpenOrCreate))
{
try
{
students = (List<Student>)formatter.Deserialize(stream);
}
catch
{
students = new List<Student>();
}
}
}
public void SerializeStudents(string grade)
{
using (FileStream stream = new FileStream($"students{grade}.xml", FileMode.OpenOrCreate))
{
formatter.Serialize(stream, students);
}
}
XML до удаления:
<?xml version="1.0"?>
<ArrayOfStudent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Student>
<Firstname>Семен</Firstname>
<Lastname>Семенов</Lastname>
<Patronymic>Семёнович</Patronymic>
<TelephoneNumber>123</TelephoneNumber>
<Id>3</Id>
<Birthday>2002-02-02T00:00:00</Birthday>
<Address>
<Street>123</Street>
<House>123</House>
<Flat>123</Flat>
</Address>
<Grade>
<Id>0</Id>
<Number>11</Number>
<Letter>1040</Letter>
</Grade>
<Mother>
<Firstname>13</Firstname>
<Lastname>13</Lastname>
<Patronymic>13</Patronymic>
<TelephoneNumber>13</TelephoneNumber>
</Mother>
<Father>
<Firstname>123</Firstname>
<Lastname>123</Lastname>
<Patronymic>13</Patronymic>
<TelephoneNumber>13</TelephoneNumber>
</Father>
</Student>
</ArrayOfStudent>
После вызова метода удаления:
<?xml version="1.0"?>
<ArrayOfStudent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> <Student>
<Firstname>Семен</Firstname>
<Lastname>Семенов</Lastname>
<Patronymic>Семёнович</Patronymic>
<TelephoneNumber>123</TelephoneNumber>
<Id>3</Id>
<Birthday>2002-02-02T00:00:00</Birthday>
<Address>
<Street>123</Street>
<House>123</House>
<Flat>123</Flat>
</Address>
<Grade>
<Id>0</Id>
<Number>11</Number>
<Letter>1040</Letter>
</Grade>
<Mother>
<Firstname>13</Firstname>
<Lastname>13</Lastname>
<Patronymic>13</Patronymic>
<TelephoneNumber>13</TelephoneNumber>
</Mother>
<Father>
<Firstname>123</Firstname>
<Lastname>123</Lastname>
<Patronymic>13</Patronymic>
<TelephoneNumber>13</TelephoneNumber>
</Father>
</Student>
</ArrayOfStudent>
Он немного изменяется, вообщем становится нечитаемым. Почему так происходит и как образом правильно перезаписывать данные в XML файл?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня в solution имеется два проектаОдин textEdit, второй textEdit
В контроллере у меня есть два метода, Get и PostВ представлении первого создана форма, в которой пользователь загружает изображение и текстовый...
Недавно открыл для себя даппер и теперь пишу свой репозиторий(велосипед) для негоВ ходе написания встала необходимость получить список всех...
python: есть list tuple-ов (каждый tuple в свою очередь состоит из 3-х int-ов) при сортировке данных методом listsort() вначале лист сортируется по первому параметру...