如何将数据从Windows窗体保存到XML文件?

我非常肯定我必须首先创建一些XML文件的模型,对吧?

任何帮助将不胜感激。

一种简单的方法是创建将数据放入的.NET类,然后使用XmlSerializer将数据序列化为文件,然后反序列化为类的实例并重新填充表单。

例如,如果您有一个包含客户数据的表单。 为了简短起见,我们将只有名字和姓氏。 您可以创建一个类来保存数据。 请记住,这只是一个简单的示例,您可以像这样存储数组和各种复杂/嵌套数据。

public class CustomerData { public string FirstName; public string LastName; } 

因此,将数据保存为XML,您的代码将如下所示。

 // Create an instance of the CustomerData class and populate // it with the data from the form. CustomerData customer = new CustomerData(); customer.FirstName = txtFirstName.Text; customer.LastName = txtLastName.Text; // Create and XmlSerializer to serialize the data to a file XmlSerializer xs = new XmlSerializer(typeof(CustomerData)); using (FileStream fs = new FileStream("Data.xml", FileMode.Create)) { xs.Serialize(fs, customer); } 

然后加载数据将类似于以下内容

 CustomerData customer; XmlSerializer xs = new XmlSerializer(typeof(CustomerData)); using (FileStream fs = new FileStream("Data.xml", FileMode.Open)) { // This will read the XML from the file and create the new instance // of CustomerData customer = xs.Deserialize(fs) as CustomerData; } // If the customer data was successfully deserialized we can transfer // the data from the instance to the form. if (customer != null) { txtFirstName.Text = customer.FirstName; txtLastName.Text = customer.LastName; } 

那么,您是否希望从Windows表单应用程序中的用户收集数据,然后将其写入XML文件(当他们单击确定时)? 如果是这样,我将查看XmlTextWriter类( http://msdn.microsoft.com/en-us/library/system.xml.xmltextwriter.aspx )。