Как создать кнопку для сохранения значения texboxes в XML и загрузки его обратно с помощью кнопок? С#
во-первых, я действительно Новичок в этом и новичок с c# извините за мой английский..ну, я собираюсь сделать приложение для школьного проекта, Я создаю простое приложение cashregister..
поэтому я хотел сделать кнопку для сохранения каждого текстового/числового значения в текстовых полях, которые я создал
программа работает, но я получаю эту ошибку после нажатия кнопки Сохранить, которую я создал
An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll Absolute path information is required. occurred
на этой линии
FileIOPermission filePermission = new FileIOPermission(FileIOPermissionAccess.AllAccess, "data.xml");
Что я уже пробовал:
форма form1.в CS
кнопка сохранения
private void btnsave_Click_1(object sender, EventArgs e) { if (File.Exists("data.xml")) { File.SetAttributes("data.xml", FileAttributes.Normal); FileIOPermission filePermission = new FileIOPermission(FileIOPermissionAccess.AllAccess, "data.xml"); using (FileStream stream = new FileStream("data.xml", FileMode.Create)) { try { Information info = new Information(); info.Data1 = txtBasoSU.Text; info.Data2 = txtBasoC.Text; info.Data3 = txtBasoM.Text; info.Data4 = txtBasoB.Text; info.Data5 = txtMieA.Text; info.Data6 = txtMieAB.Text; info.Data7 = txtServisMinuman.Text; info.Data8 = txtServisMakanan.Text; info.Data9 = txtServisBungkus.Text; info.Data10 = txtTotalSpajak.Text; info.Data11 = txtTotalPajak.Text; info.Data12 = txtTotal.Text; SaveXML.SaveData(info, "data.xml"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
кнопку Загрузить
private void btnload_Click(object sender, EventArgs e) { if (File.Exists("data.xml")) { using (var stream = new FileStream("data.xml", FileMode.Open)) { var xs = new XmlSerializer(typeof(Information)); FileStream read = new FileStream("data.xml", FileMode.Open, FileAccess.ReadWrite); Information info = (Information)xs.Deserialize(read); // FileStream read = new FileStream("data.xml", FileMode.Open, FileAccess.ReadWrite); //Information info = (Information)xs.Deserialize(read); txtBasoSU.Text = info.Data1; txtBasoC.Text = info.Data2; txtBasoM.Text = info.Data3; txtBasoB.Text = info.Data4; txtMieA.Text = info.Data5; txtMieAB.Text = info.Data6; txtServisMinuman.Text = info.Data7; txtServisMakanan.Text = info.Data8; txtServisBungkus.Text = info.Data9; txtTotalSpajak.Text = info.Data10; txtTotalPajak.Text = info.Data11; txtTotal.Text = info.Data12; } } }
информация.в CS
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; namespace CS_Sistem_Managemen_Restoran { public class Information { private string data1; private string data2; private string data3; private string data4; private string data5; private string data6; private string data7; private string data8; private string data9; private string data10; private string data11; private string data12; public string Data1 { get { return data1; } set { data1 = value; } } public string Data2 { get { return data2; } set { data2 = value; } } public string Data3 { get { return data3; } set { data3 = value; } } public string Data4 { get { return data4; } set { data4 = value; } } public string Data5 { get { return data5; } set { data5 = value; } } public string Data6 { get { return data6; } set { data6 = value; } } public string Data7 { get { return data7; } set { data7 = value; } } public string Data8 { get { return data8; } set { data8 = value; } } public string Data9 { get { return data9; } set { data9 = value; } } public string Data10 { get { return data10; } set { data10 = value; } } public string Data11 { get { return data11; } set { data11 = value; } } public string Data12 { get { return data12; } set { data12 = value; } } } }
saveXML.в CS
using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; using System.IO; namespace CS_Sistem_Managemen_Restoran { public class SaveXML { public static void SaveData(object obj, string filename) { XmlSerializer sr = new XmlSerializer(obj.GetType()); TextWriter writer = new StreamWriter(filename); sr.Serialize(writer, obj); writer.Close(); } } }