首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

XML 文件做配置文件,返回参数列表方式 请问

2014-01-21 
XML 文件做配置文件,返回参数列表方式 请教 //遍历xml文件的节点信息private static void GetXmlNodeInfor

XML 文件做配置文件,返回参数列表方式 请教

 //遍历xml文件的节点信息
        private static void GetXmlNodeInformation(string xmlPath)
        {
            try
            {
                //定义并从xml文件中加载节点(根节点)
                XElement rootNode = XElement.Load(xmlPath);
                //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
                IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("port")
                                                    select target;
                foreach (XElement node in targetNodes)
                {
                    Console.WriteLine("port = {0}", node.Value);
                }
                //查询语句: 获取ID属性值等于"111111"并且函数子节点的所有User节点(并列条件用"&&"符号连接)
                IEnumerable<XElement> myTargetNodes = from myTarget in rootNode.Descendants("text")
                                                      where myTarget.Attribute("ID").Value.Equals("1")
                                                               && myTarget.HasElements
                                                      select myTarget;
                foreach (XElement node in myTargetNodes)
                {
                    Console.WriteLine("text = {0}", node.Element("ascii").Value);

                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }


配置文件:

<?xml version="1.0" encoding="utf-8"?>
<configs>

  <host ID="1">
    <port>60000</port>
  </host>
  
  <text ID="1">
    <ascii>0</ascii>
  </text>
 
</configs>


当前,初始化时,可能是声明两个变量,遍历XML后,将值赋给两个变量...

怎么弄个参数结构或其他方式,在增加新参数时,才能尽量少的改动代码?



------解决方案--------------------


  

<?xml version="1.0" encoding="utf-8" ?> 
- <root>
  <db constr="User ID=root;Password=root;Host=localhost;Port=3306;Database=test080121nb2014;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=3;Max Pool Size=100;CharSet=utf8;Connect Timeout=30000; RespectBinaryFlags=false;TreatTinyAsBoolean=false" /> 
  <bar printer="BAR" /> 
  <kitchen printer="BAR" /> 
  <orders printer="yan" /> 
  <package timeout="5000" /> 
  <timeserver serverip="192.168.0.1" serverport="123" sleeptime="1800000" /> 
  <log maxline="300000" /> 
  </root>
我是这样设计的,你借鉴一下
[解决办法]
用xmlserializer,增加参数时,修改代码最少。

只需要修改实体类。

热点排行