Xml配置文件

前言

最近做项目又遇到一个需要写配置文件的,懒得自己写就把之前写的一个简单的扒出来改了改,在此贴出来,省得以后还要重新写。

1.配置文件

配置文件未xml格式

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<!--app_cursorTime时间-->
<add key="app1_cursorTime" value="1.5"/>
<!--app_web网址-->
<add key="app2_web" value="https://www.baidu.com"/>
<!--app_exe应用程序-->
<add key="app3_video" value="D:\test\Video\test.mp4"/>
<!--sensorPara传感器参数-->
<add key="sensorPara" sensorHeight="2.2" sensorAngle="-15" minDistance="1" maxDistance="2" maxLRDistance="0.5" trackedUsers="1"/>
</appSettings>

2.读取配置文件

private string appSettingName = "Settings.xml";
    private void InitSetting()
    {
        string path = Path.Combine(Application.streamingAssetsPath, appSettingName);

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(path);
       
        XmlNodeList nodeList = xmlDoc.SelectSingleNode("appSettings").ChildNodes;
        foreach (XmlNode temp in nodeList)
        {
            if(temp is XmlComment)
            {
                continue; 
            }
            
            XmlElement xml = (XmlElement)temp;
            string key = xml.GetAttribute("key");

            if(key== "sensorPara")
            {
                float f;
                int i;
                sensorPara.sensorHeight = float.TryParse(xml.GetAttribute("sensorHeight"), out f) ? f : 1f;
                sensorPara.sensorAngle = float.TryParse(xml.GetAttribute("sensorAngle"), out f) ? f : 0f;
                sensorPara.minDistance = float.TryParse(xml.GetAttribute("minDistance"), out f) ? f : 0.5f;
                sensorPara.maxDistance = float.TryParse(xml.GetAttribute("maxDistance"), out f) ? f : 3.5f;
                sensorPara.maxLRDistance = float.TryParse(xml.GetAttribute("maxLRDistance"), out f) ? f : 1f;
                sensorPara.trackedUsers = int.TryParse(xml.GetAttribute("trackedUsers"), out i) ? i : 1;
                continue;
            }

            string value = xml.GetAttribute("value");
            appParaKeys.Add(key);
            appParaValues.Add(value);
        }

        float t;
        time = float.TryParse(appParaValues[0], out t) ? t : 2f;         
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值