用XML反序列化快速完成ASP.NET配置文件
一般来说,asp.net的配置文件用web.config就可以解决,但是有时候我们希望完全用自己的形式来配置某些东西,比如希望用下面的形式来配置一个站点的所有有message。
<Messages>
<Message ID="ID1">Message1</Message>
<Message ID="ID2">Message1</Message>
</Messages>
这时候用ConfigurationElement就搞不懂中间的那个Message1的那样的配置了。这时候,我们可以用xml反序列化来解决这个问题。
为了用反序列化,我们必须要建立一个messages对应的class,借助于XML 架构定义工具(xsd.exe)很容易就完成这个目标:
第一步是XML→XML 架构(xsd文件) 命令就是:xsd xml文件名,这个地方需要注意的是,这个xml文件名的扩展名必须是.xml
第二步是xsd→class 命令就是:xsd xsd文件名 /c ,如果想要指定生成的class的namespace,那么加上/n:mynamespace 就可以了。
这样这个xml对应的class就完全生成了,接下来就是xml反序列化读取了。另外,为了提高性能,还可以以这个配置文件的物理路径作为缓冲依赖,把这个配置加入缓存。