zoukankan      html  css  js  c++  java
  • 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中取得数据,并显示取出的数据。
  • 相关阅读:
    Zabbix客户端日志出现(Not all processes could be identified, 解决
    zabbix 本地编译安装
    redis 配置文件解释 以及集群部署
    Unix shell范例精解 课后题
    if __name__ == '__main__':用法
    爬取猫眼电影100榜单 代码
    CentOS编译安装软件过程中遇到zlib.h: No such file or directory
    Codeigniter添加Composer支持
    CodeIgniter composer.json安装第三类库操作
    使用composer命令加载vendor中的第三方类库 的方法
  • 原文地址:https://www.cnblogs.com/RuiLei/p/647926.html
Copyright © 2011-2022 走看看