private void btnAddToList_Click(object sender, EventArgs e) { //перевірка полів bool isValid = textFieldValivation(txtName, lblName) && textFieldValivation(txtSurname, lblSurname) && textFieldValivation2(cmbEducation, lblEducation) && textFieldValivation2(cmbProfession, lblProfession) && textFieldValivation(txtZp, lblZp); if (!isValid) { return; } //введення та додавання даних про людину в список Person person = new Person(txtName.Text, txtSurname.Text, dtmDateOfBirth.Value, cmbEducation.Text, cmbProfession.Text, Convert.ToDouble(txtZp.Text)); myList.Add(person); dataGridView1.Rows.Add(person.name, person.surname, person.dob.ToString("dd.MM.yyyy"), person.education, person.profession, person.zp); fieldsClear(); }
//==========================Читання з xml файлу============================= private void btnLoadFromXml_Click(object sender, EventArgs e) { Person m = new Person(); List<Person> myList2 = new List<Person>(); using (XmlReader xml = XmlReader.Create("PersonsData.xml")) { while (xml.Read()) { // Only detect start elements. if (xml.IsStartElement()) { // Get element name and switch on it. switch (xml.Name) { case "Person": if (m.name != "") myList2.Add(m); m = new Person(); break; case "Name": if (xml.Read()) { m.name = xml.Value; } break; case "Surname": if (xml.Read()) { m.surname = xml.Value; } break; case "DayOfBirthday": if (xml.Read()) { m.dob = DateTime.Parse(xml.Value); } break; case "Education": if (xml.Read()) { m.education = xml.Value; } break; case "Profession": if (xml.Read()) { m.profession = xml.Value; } break; case "Money": if (xml.Read()) { m.zp = Convert.ToDouble(xml.Value); } break; } } } myList2.Add(m); } //======== to table ==== foreach (Person value in myList2) { dataGridView1.Rows.Add(value.name, value.surname, value.dob.ToString("dd.MM.yyyy"), value.education, value.profession, Convert.ToString(value.zp)); } // 2 sposib =================== /* string lastNodeName = ""; using (XmlReader xml = XmlReader.Create("PersonsData.xml")) { while (xml.Read()) { switch (xml.NodeType) { case XmlNodeType.Element: // нашли элемент member if (xml.Name == "Person") { //поиск атрибутов ... } // запоминаем имя найденного элемента lastNodeName = xml.Name; break; case XmlNodeType.Text: // нашли текст, смотрим по имени элемента, что это за текст if (lastNodeName == "Name") { m.name = xml.Value; } else if (lastNodeName == "Surname") { m.surname = xml.Value; } else if (lastNodeName == "DayOfBirthday") { m.day = xml.Value; } //m.dob = Convert.ToDateTime(xml.Value); } //DateTime.ParseExact(xml.Value, "dd.MM.yyyy", CultureInfo.InvariantCulture); } else if (lastNodeName == "Education") { m.education = xml.Value; } else if (lastNodeName == "Profession") { m.profession = xml.Value; } else if (lastNodeName == "Money") { m.zp = Convert.ToDouble(xml.Value); } break; case XmlNodeType.EndElement: if (xml.Name == "Person") { myList2.Add(m); m = new Person(); } break; } } }*/ }