易于在文件中录制一个类的整个实例。 XML 并读回来
我有一个基本的课程
, 其中包含我们课程的副本 customer, supplier 和 jobs.
我想将程序数据保存到文件中 XML, 我使用了下面的代码 /只是一个片段,我有其他课程的合适代码/. 我想知道我是否有更简单的方式做到这一点,例如,写下整个班级 theGarage 到文件。 XML 并阅读它而无需编写所有这些代码,就像我下面的那样。
theGarage
, 其中包含我们课程的副本 customer, supplier 和 jobs.
我想将程序数据保存到文件中 XML, 我使用了下面的代码 /只是一个片段,我有其他课程的合适代码/. 我想知道我是否有更简单的方式做到这一点,例如,写下整个班级 theGarage 到文件。 XML 并阅读它而无需编写所有这些代码,就像我下面的那样。
public void saveToFile//
{
using /XmlWriter writer = XmlWriter.Create/"theGarage.xml"//
{
writer.WriteStartDocument//;
///
writer.WriteStartElement/"theGarage"/;
writer.WriteStartElement/"Customers"/;
foreach /Customer Customer in Program.theGarage.Customers/
{
writer.WriteStartElement/"Customer"/;
writer.WriteElementString/"FirstName", Customer.FirstName/;
writer.WriteElementString/"LastName", Customer.LastName/;
writer.WriteElementString/"Address1", Customer.Address1/;
writer.WriteElementString/"Address2", Customer.Address2/;
writer.WriteElementString/"Town", Customer.Town/;
writer.WriteElementString/"County", Customer.County/;
writer.WriteElementString/"PostCode", Customer.Postcode/;
writer.WriteElementString/"TelephoneHome", Customer.TelephoneHome/;
writer.WriteElementString/"TelephoneMob", Customer.TelephoneMob/;
//begin vehicle list
writer.WriteStartElement/"Vehicles"/;
foreach /Vehicle Vehicle in Customer.Cars/
{
writer.WriteStartElement/"Vehicle"/;
writer.WriteElementString/"Make", Vehicle.Make/;
writer.WriteElementString/"Model", Vehicle.Model/;
writer.WriteElementString/"Colour", Vehicle.Colour/;
writer.WriteElementString/"EngineSize", Vehicle.EngineSize/;
writer.WriteElementString/"Registration", Vehicle.Registration/;
writer.WriteElementString/"Year", Vehicle.YearOfFirstReg/;
writer.WriteEndElement//;
}
writer.WriteEndElement//;
writer.WriteEndElement//;
}
}
}
没有找到相关结果
已邀请:
4 个回复
风见雨下
赞同来自:
. 查看文档
http://msdn.microsoft.com/en-u ... .aspx
.
用于将车库序列化为文件的代码片段可能如下所示:
和从文件加载车库的代码:
诸葛浮云
赞同来自:
例子
</objecttype></t>
莫问
赞同来自:
http://blog.danskingdom.com/sa ... file/
. 以下是用于录制和读取类实例的功能 / 的 XML. 有关更多信息,请参阅我的博客。
需要是 System.Xml assembly 包含在您的项目中。
例子
</customer></customer></t></t>
江南孤鹜
赞同来自:
http://msdn.microsoft.com/en-u ... .aspx
. 不像
http://msdn.microsoft.com/en-u ... .aspx
XmlSerializer, 它可以以这样的方式处理对同一对象的几个引用,使数据不复制 xml 并恢复保存。