XML сериализация создает файл с пустыми данными - C#
Формулировка задачи:
создал базу данных на С #, данные которые ввожу в DGV хочу сохранить в XML файл, код работает, но в XML файле записывает пустые поля. Новичок, подскажите что не так
///вот такой код в XML
[Serializable]/////////клас public class friends { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public string Number { get; set; } public int House { get; set; } public string Adress { get; set; } } ////обработчик нажатие на кнопку private void button4_Click(object sender, EventArgs e)//////импорт в XML { friends p1= new friends(); XmlSerializer serial = new XmlSerializer(typeof(friends)); using (FileStream fs = new FileStream(Environment.CurrentDirectory + "\\book.xml", FileMode.Create, FileAccess.Write)) { serial.Serialize(fs, p1); MessageBox.Show("XML was created"); } }
<?xml version="1.0"?> <friends xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Id>0</Id> <Age>0</Age> <House>0</House> </friends>
Решение задачи: «XML сериализация создает файл с пустыми данными»
textual
Листинг программы
private void button4_Click(object sender, EventArgs e)//////import from XML { if (dataGridView1.Rows.Count > 0) { MessageBox.Show("Please,delete all data from DGV before importing"); } else { if (File.Exists("F:\\dataBase\\database_2.0\\sasha\\bin\\Debug\\book.xml")) { XmlSerializer serial = new XmlSerializer(typeof(List<friends>)); // <-- using (FileStream fs = new FileStream(Environment.CurrentDirectory + "\\book.xml", FileMode.Open, FileAccess.Read)) { _friend=serial.Deserialize(fs)as List<friends>; // <-- } dataGridView1.DataSource = _friend; db.SaveChanges(); dataGridView1.Refresh(); MessageBox.Show("Exported successfully"); } else { MessageBox.Show("404 XML file not found "); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д