XML篇可配置化的取值方式[便于维护]

1.根据XML的架构图,用xsd生成相应于的cs文件

命令为:xsd /c CooperationChannels.xsd
以下是CMD的结果图

C:\Microsoft Visual Studio 8\SDK\v2.0\Bin>xsd /c CooperationChannels.xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'C:\Microsoft Visual Studio 8\SDK\v2.0\Bin\CooperationChannels.cs'.

XSD关系图:

相对应的xml文件

<?xml version="1.0" encoding="utf-8" ?>
<CooperationChannel>
 
<Channel DomainName="crp" Remark="XXX">
  
<Url Name="www.baidu.com" BaseTitle="" UrlRemark=""/>
  
<Url Name="mail.163.com" BaseTitle="" UrlRemark=""/>
  
<Url Name="XXXXX" BaseTitle="" UrlRemark=""/>
  
<Url Name="XXYYYY" BaseTitle=""  UrlRemark="XXXX"/>
 
</Channel>
</CooperationChannel>

2.由于生成的文件,不能直接使用,所以需要对xsd生成的文件进行相关的修改

以下是修改的代码,注意注释


3.最后是调用的代码
 /// <summary>
        
/// 取得Channel,一开始是用反序化的方式进行做的,
        
/// 但是最后因为性能的问题,所以改用loadxml的方式,
        
/// 然后在xml数据放在动态cache中,进行使用的。
        
/// </summary>

        public static XmlNodeList GetChannel(string path)
        
{
            XmlDocument xmlDoc 
= new XmlDocument();
            XmlTextReader xmlTextReader 
= new XmlTextReader(path);
            
            xmlDoc.Load(xmlTextReader);
            
return xmlDoc.ChildNodes;
        }

4.显示从xml中取得数据,并显示取出的数据。
原文地址:https://www.cnblogs.com/RuiLei/p/647926.html