您的位置:首页 > 其它

使用.NET 反射机制(Reflecttion)读取和保存Xml配置文档

2012-02-11 11:49 656 查看
在.net中使用XmlDocument对xml进行读取和保存,就好象使用使用ADO.NET访问数据库一样需要编写大量的繁琐代码,现在开发数据库程序基本上都使用ORM框架简化工作,同样也可以类似的使用反射机制将XML配置文件转化为相应的对象,使用的使用直接调用对象就可以。

下面根据一个简单的实例说明下思路

<?xmlversion="1.0"encoding="utf-8"?> <root> <templates> <templateid="100"name="模板1"> <headerfontname="宋体"fontsize="14"align="Left"content=""/> </template> <templateid="100"> <headerfontname="宋体"fontsize="14"align="Left"content=""/> </template> </templates> </root>

  上面是一个简单配置文件,根据这个XML的结构编写下面的相应对象

[XmlFile("XXTemplate.xml","root","配置文件的名称")]

publicclassXXTemplate
{    

    [XmlCollection(typeof(List<XXTemplateItem>),typeof(XXTemplateItem),"templates","")]
publicList<XXTemplateItem>Templates{get;set;}
}

[XmlItem(typeof(PrintTemplateItem),"template","")]
publicclassXXTemplateItem
{

[XmlProperty("id",typeof(string),"")]
  publicstringId{get;set;}

[XmlProperty("name",typeof(string),"")]
publicstringName{get;set;}

  [XmlItem(typeof(XXTemplateItemHeader),"header","")]
  publicXXTemplateItemHeaderHeader{get;set;}
}

[XmlItem(typeof(XXTemplateItemHeader),"header","")]
publicclassXXTemplateItemHeader
{

[XmlProperty("fontname",typeof(string),"")]
publicstringFontname{get;set;}

}



这样就在XML和对象之间建立了映射,最后创建一个通用的映射管理类负责读取XML文档转化为对象和在修改对象后将状态保存到XML文档中。

在这个处理过程中,主要是使用到了.net的反射机制(Reflection)和属性(Attribute)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: