using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
using System.Reflection;//反射的命名空间
using System;
using LitJson;
//Xml数据类
public class TmpBagData {
public string id;
public string name;
public void Method() {
}
}
//Json数据类
public class TmpTaskData {
public string id;
public string name;
}
/// <summary>
/// 解析XML的类????
///
/// </summary>
public class TestMethod : MonoBehaviour
{
//获取一个文件
public TextAsset config;
//Json
private List<TmpTaskData> taskList;
void Start () {
//
//反射
//type可以理解为元数据,包括对应类的所有成员信息
//Type tmpType = typeof(TmpBagData);
//反射获取当前类的所有字段,参数是筛选条件
//FieldInfo[] fieldArr = tmpType.GetFields(/*BindingFlags*/);
//反射获取当前类的所有属性,参数是筛选条件
//PropertyInfo[] propertyArr = tmpType.GetProperties();
//反射获取当前类的所有方法,参数是筛选条件
//MethodInfo[] methodArr = tmpType.GetMethods();
///
//普通解析
//存取数据的集合
//list<tmpbagdata> list = new list<tmpbagdata>();
//string data = config.text;
//xmldocument doc = new xmldocument();
//加载xml文件
//doc.loadxml(data);
//debug.log(data);
//获取根节点/子节点的集合
//xmlnodelist xnl = doc.selectsinglenode("root").childnodes;
//解析数据 将对象存入list集合
//for (int i = 0; i < xnl.count; i++)
//{
// list.add(new tmpbagdata()
// {
// id = ((xmlelement)xnl[i]).getattribute("id"),
// name = ((xmlelement)xnl[i]).getattribute("name"),
// });
//}
//for (int i = 0; i < list.count; i++)
//{
// print(list[i].id + " " + list[i].name);
//}
//
//Json解析
//将json格式的字符串转换成一个字典,字典的格式根据json字符串的内容而定
JsonData jd = JsonMapper.ToObject(config.text);
//该JsonDate相当于后面的字典 => Dictionary<string,Dictionary<string,string>>
//通过键找到这个集合再转成数据类型
taskList = JsonMapper.ToObject<List<TmpTaskData>>(jd["task"].ToJson());
//taskList[i].name;
//jd["Task"][1]["des"];
//根据键获得对应的字典集合,再根据集合的键(索引)获得对应的值
}
}
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
using System.Reflection;//反射的命名空间
using System;
using LitJson;
//Xml数据类
public class TmpBagData {
public string id;
public string name;
public void Method() {
}
}
//Json数据类
public class TmpTaskData {
public string id;
public string name;
}
/// <summary>
/// 解析XML的类????
///
/// </summary>
public class TestMethod : MonoBehaviour
{
//获取一个文件
public TextAsset config;
//Json
private List<TmpTaskData> taskList;
void Start () {
//
//反射
//type可以理解为元数据,包括对应类的所有成员信息
//Type tmpType = typeof(TmpBagData);
//反射获取当前类的所有字段,参数是筛选条件
//FieldInfo[] fieldArr = tmpType.GetFields(/*BindingFlags*/);
//反射获取当前类的所有属性,参数是筛选条件
//PropertyInfo[] propertyArr = tmpType.GetProperties();
//反射获取当前类的所有方法,参数是筛选条件
//MethodInfo[] methodArr = tmpType.GetMethods();
///
//普通解析
//存取数据的集合
//list<tmpbagdata> list = new list<tmpbagdata>();
//string data = config.text;
//xmldocument doc = new xmldocument();
//加载xml文件
//doc.loadxml(data);
//debug.log(data);
//获取根节点/子节点的集合
//xmlnodelist xnl = doc.selectsinglenode("root").childnodes;
//解析数据 将对象存入list集合
//for (int i = 0; i < xnl.count; i++)
//{
// list.add(new tmpbagdata()
// {
// id = ((xmlelement)xnl[i]).getattribute("id"),
// name = ((xmlelement)xnl[i]).getattribute("name"),
// });
//}
//for (int i = 0; i < list.count; i++)
//{
// print(list[i].id + " " + list[i].name);
//}
//
//Json解析
//将json格式的字符串转换成一个字典,字典的格式根据json字符串的内容而定
JsonData jd = JsonMapper.ToObject(config.text);
//该JsonDate相当于后面的字典 => Dictionary<string,Dictionary<string,string>>
//通过键找到这个集合再转成数据类型
taskList = JsonMapper.ToObject<List<TmpTaskData>>(jd["task"].ToJson());
//taskList[i].name;
//jd["Task"][1]["des"];
//根据键获得对应的字典集合,再根据集合的键(索引)获得对应的值
}
}