【发布时间】:2017-01-12 09:11:13
【问题描述】:
我是 C# 开发的新手,目前正在为码头构建一个预订应用程序。
(已经搜索过以前的问题,但没有成功找到我正在寻找的具体内容)
用例:
- 通过windows窗体界面输入客户信息,
- 将数据存储为 XML 文件 - 单击按钮时(每位客户一个)
- 通过表单按名称搜索时将数据返回给 gridView。 (例如客户端查找)
我已将程序配置为为表单输入创建 XML 文件, 但是,我不知道如何为每个条目创建单独的 XML 文件。
目前,每次输入表单数据,都会覆盖文件中之前的XML数据。
非常感谢任何关于如何按照上述创建单独/附加 XML 文件的解决方案。
第一次在这里发帖,如有遗漏,敬请见谅。
代码如下:
// Save XML.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.IO;
namespace Popeye_Booking_application
{
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();
}
}
}
// Information.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Popeye_Booking_application
{
public class Information
{
private string data1;
private string data2;
private string data3;
private string data4;
private string data5;
private string data6;
private string data7;
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; }
}
}
}
// Form.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Popeye_Booking_application
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonCreate_Click(object sender, EventArgs e)
{
try
{
Information info = new Information();
info.Data1 = textBoxData1.Text;
info.Data2 = textBoxData2.Text;
info.Data3 = textBoxData3.Text;
info.Data4 = textBoxData4.Text;
info.Data5 = textBoxData5.Text;
info.Data6 = textBoxData6.Text;
info.Data7 = textBoxData7.Text;
SaveXml.SaveData(info, "data.xml");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void label10_Click(object sender, EventArgs e)
{
}
private void label7_Click(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}
提前致谢,
【问题讨论】:
-
如果您在每个
Information中都有一个身份字段,只需将其用作 XML 文件的名称;)。