XML сериализация создает файл с пустыми данными - C#

Узнай цену своей работы

Формулировка задачи:

создал базу данных на С #, данные которые ввожу в DGV хочу сохранить в 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
<?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 ");
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы