利用XML序列化实现程序配置文件_

上传人:x** 文档编号:24920109 上传时间:2021-07-16 格式:DOCX 页数:6 大小:13.12KB
返回 下载 相关 举报
利用XML序列化实现程序配置文件__第1页
第1页 / 共6页
利用XML序列化实现程序配置文件__第2页
第2页 / 共6页
利用XML序列化实现程序配置文件__第3页
第3页 / 共6页
点击查看更多>>
资源描述
利用XML序列化实现程序配置文件_ 有些应用程序在退出的时候,会将一些设置值写入到文件里,以便下次程序启动时调用,这个文件统称为配置文件。例如:Windows的扫雷程序,在每次启动的时候,都会消失在上次关闭的位置,就是由于扫雷程序在退出的时候将当前位置写入到配置文件里。 早期的配置文件的实现有两种方法。一是INI文件,在Win32的API中还特地有读写INI文件的API函数;另一个是注册表,这也是许多程序的首选,在版本较新的扫雷程序就是利用注册表实现配置函数。不过,上述的两种方法都有其的局限性。INI文件,结构简洁,简单编辑,有容量的上限(64K)。注册表虽然没有容量的限制,不过读写注册表还是一件很麻烦的事,而且还简单在注册表中产生冗余(删除程序的时候还得操作注册表),也有和其他程序想冲的可能。最主要的问题就是,无论是INI文件还是注册表都只能实现简洁的配置读写,很难实现类似对象的读写,由于他们的条目之间是平行的,而不是类似树状的节点结构(注册表虽能实现树状结构,但是读写还是比较麻烦,也不太平安)。 而利用XML文件就能很好的弥补上面的不足。首先是文件型的,不会读写注册表,不会有平安的后顾之忧;其次没有文件容量大小的限制,而且XML文件天生是树状结构,很适合实现对象的读写。目前XML文件的应用越来越广泛,已经成为主流,你任凭打开一个程序所在的名目,很少不看到XML文件的,而且主流的开发软件都有读写XML的库文件。操作XML文件现在是很便利的一件事。 XML文件序列化是XML技术的一个分支,他可以把程序中的一个对象(例如自己编写的类的一个实例)序列化成XML文件。他也可以把XML文件反序列化为程序中的一个对象。 有关XML序列化比较好的文章,我个人感觉下面这篇比较好。 NET对象的XML序列化和反序列化 这就给了我们的一个思路,我们可以把要读写的配置封装在自己编写的配置类中,然后通过XML序列化,来实现配置类和XML文件的转化。 例如:下面这个例子就是利用XML序列化在类对象和XML之间转换,用的是C# 下面例子中的xml schema 描述了一个简洁的人力资源信息,其中包含了xml的大部分格式,如xml 元素相互嵌套, xml元素既有元素值,又有属性值。 1. 待序列化的类层次结构 XmlRoot(humanResource)public class HumanResource private int m_record = 0; private Worker m_workers = null; XmlAttribute(AttributeName=record)public int Record get return m_record; set m_record = value; XmlElement(ElementName=worker)public Worker Workers get return m_workers; set m_workers = value; public class Worker private string m_number = null; private InformationItem m_infoItems = null; XmlAttribute(number)public string Number get return m_number; set m_number = value; XmlElement(infoItem)public InformationItem InfoItems get return m_infoItems; set m_infoItems = value; public class InformationItem private string m_name = null; private string m_value = null; XmlAttribute(AttributeName = name)public string Name get return m_name; set m_name = value; XmlTextpublic string Value get return m_value; set m_value = value; 2. 序列化生成的xml结构 ?xml version=1.0 ? humanResource xmlns:xsi= xmlns:xsd= record=2 worker number=001 infoItem name=nameMichale/infoItem infoItem name=sexmale/infoItem infoItem name=age25/infoItem /worker worker number=002 infoItem name=nameSurce/infoItem infoItem name=sexmale/infoItem infoItem name=age28/infoItem /worker /humanResource 更多信息请查看IT技术专栏 .
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!