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 ");
}
}