繁体   English   中英

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

[英]How can I save data from a Windows Form to an XML file?

我非常肯定我必须首先创建一些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;
}

看看使用Linq到xml - http://msdn.microsoft.com/en-us/library/bb387098.aspx这里有一些教程可以指导您创建和查询xml文档。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM