使用.NET 反射机制(Reflecttion)读取和保存Xml配置文档
在 .net 中使用 XmlDocument 对 xml 进行读取和保存,就好象使用使用 ADO.NET 访问数据库一样需要编写大量的繁琐代码,现在开发数据库程序基本上都使用ORM 框架简化工作,同样也可以类似的使用反射机制将 XML 配置文件转化为相应的 对象,使用的使用直接调用对象就可以。
下面根据一个简单的实例说明下思路
<? xml version="1.0" encoding="utf-8"?> < root > < templates > < template id="100" name="模板1"> < header fontname="宋体" fontsize="14" align="Left" content=""/> </ template > < template id="100"> < header fontname="宋体" fontsize="14" align="Left" content=""/> </ template > </ templates > </ root > |
上面是一个简单配置文件,根据这个XML的结构编写下面的相应对象
[XmlFile("XXTemplate.xml", "root", "配置文件的名称")]
public class XXTemplate
{
[XmlCollection(typeof(List<XXTemplateItem>), typeof(XXTemplateItem), "templates", "")]
public List<XXTemplateItem> Templates { get; set; }
}
[XmlItem(typeof(PrintTemplateItem), "template", "")]
public class XXTemplateItem
{
[XmlProperty("id", typeof(string), "")]
public string Id {get;set;}
[XmlProperty("name", typeof(string), "")]
public string Name {get;set;}
[XmlItem(typeof(XXTemplateItemHeader), "header", "")]
public XXTemplateItemHeader Header { get; set; }
}
[XmlItem(typeof(XXTemplateItemHeader), "header", "")]
public class XXTemplateItemHeader
{
[XmlProperty("fontname", typeof(string), "")]
public string Fontname {get;set;}
}
这样就在 XML 和对象之间建立了映射,最后创建一个通用的 映射管理类 负责读取XML 文档转化为 对象 和 在修改对象后将状态保存到XML文档中。
在这个处理过程中,主要是使用到了 .net 的 反射机制 (Reflection) 和 属性(Attribute)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?