unity中xml配置表管理器

核心思想是使用反射把配置表中的数值赋给对象的属性。

直接上代码,代码里有比较详细的注释:

public static List<T> Load<T>() where T : new(){
		//这里要注意配置对象要与配置文件名称相同
		string[] names = (typeof(T)).ToString().Split('.');

        //获取真实名称
		string filename = names[names.Length - 1];
		XmlDocument doc = new XmlDocument();
        //加载xml文件
        string data = Resources.Load("Config/"+filename).ToString(); 

        doc.LoadXml(data); 
        XmlNode xmlNode = doc.DocumentElement;

		XmlNodeList xnl = xmlNode.ChildNodes;

		List<T> ret = new List<T>();

        //遍历所有内容
		foreach (XmlNode xn in xnl)
		{
            //找到符合条件的数据
			if (xn.Name.ToLower() == filename)
			{
                //实例化数据对象
				T obj = new T();

				Type t = obj.GetType();

                //获取对象的全部属性
				FieldInfo[] fields = t.GetFields();

				string msg = "";
				try{
                    //遍历全部属性,并从配置表中找出对应字段的数据并赋值
                    //根据属性的类型对数据进行转换
					foreach (FieldInfo f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值