Unity3d-XML文件数据解析&JSON数据解析
2014-06-05 10:34
441 查看
1.XML文件数据解析:(首先需要导入XMLParser解析器,The latest released download from:http://dev.grumpyferret.com/unity/)
XML文件内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ROOT>
<table wave="1" enemyname="ground" level="1" wait="3"/>
...
</ROOT>
//XML数据模型类
//读取XML文件
2.JSON数据解析(首先需要导入工具LitJSON,下载地址:http://lbv.github.io/litjson//)
1>放到Unity工程中删除文件夹benchmarks和test,在需要数据解析的代码文件中加入:using LitJson;
2>代码解析:
JSON文件数据如下:
{"name":"中国",
"provinces":[
{"name":"黑龙江","id":1,"citys":["佳木斯","大庆"]},
{"name":"辽宁","id":2,"citys":["沈阳","大连","齐齐哈尔"]},
{"name":"吉林","id":3,"citys":["吉林市","长春市","四平市","哈尔滨"]}
]}
建类:
运行结果如下图:
XML文件内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ROOT>
<table wave="1" enemyname="ground" level="1" wait="3"/>
...
</ROOT>
//XML数据模型类
public class SpawnData { public int wave = 1; public string enemyname = ""; public int level = 1; public float wait = 1.0f; }
//读取XML文件
//存储XML文件 public TextAsset xmldata; //保存读出数据 ArrayList m_enemylist;
void ReadXML() { m_enemylist = new ArrayList(); XMLParser xmlparse = new XMLParser(); XMLNode node = xmlparse.Parse(xmldata.text); XMLNodeList list = node.GetNodeList("ROOT>0>table"); for (int i = 0; i < list.Count; i++) { string wave = node.GetValue("ROOT>0>table>" + i + ">@wave"); string enemyname = node.GetValue("ROOT>0>table>" + i + ">@enemyname"); string level = node.GetValue("ROOT>0>table>" + i + ">@level"); string wait = node.GetValue("ROOT>0>table>" + i + ">@wait"); SpawnData data = new SpawnData(); data.wave = int.Parse(wave); data.enemyname = enemyname; data.level = int.Parse(level); data.wait = float.Parse(wait); m_enemylist.Add(data); } }
2.JSON数据解析(首先需要导入工具LitJSON,下载地址:http://lbv.github.io/litjson//)
1>放到Unity工程中删除文件夹benchmarks和test,在需要数据解析的代码文件中加入:using LitJson;
2>代码解析:
JSON文件数据如下:
{"name":"中国",
"provinces":[
{"name":"黑龙江","id":1,"citys":["佳木斯","大庆"]},
{"name":"辽宁","id":2,"citys":["沈阳","大连","齐齐哈尔"]},
{"name":"吉林","id":3,"citys":["吉林市","长春市","四平市","哈尔滨"]}
]}
建类:
public class Country { public string name {get; set;} public Province [] provinces; } public class Province { public string name; public int id; public string[] cities; } public TextAsset jsondata;//拖入JSON.txt文件 void ReadJSON() { JsonData jd = JsonMapper.ToObject(jsondata.text); print("p.name" + (string)jd["name"]); JsonData provinces = jd["provinces"]; for(int i = 0; i < provinces.Count; i++) { print("j.name" + provinces[i]["name"]); print("j.cities" + provinces[i]["citys"].Count); for(int j = 0; j < provinces[i]["citys"].Count; j++) { print("provinces[i][citys][" + j + "]" + provinces[i]["citys"][j]); } } }
运行结果如下图:
相关文章推荐
- Unity3d-XML文件数据解析&JSON数据解析
- Android开发案例:网络交互&XML与json数据解析&HttpUtil优化
- iOS 【网端数据解析 JSON(MJExtension)& XML(NSXMLParser/GDataParser)】
- 安卓对数据的解析,对xml文件解析,以及对json的解析
- unity中从txt文件中读取解析json数据&&unity中json数据写入txt文件
- 初学_Android4高级编程-7 异步http框架得到有道翻译的XML与json资源并解析出需要的数据&使用DownloadManager
- XML文件解析&操作&与JSON比较
- iphone开发之iphone解析xml&json-1
- 在 Android 应用程序中使用 Internet 数据 解析 XML、JSON 和 protocol buffers 数据
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- 在JSP开发中使用jdom解析临时存放数据的XML文件
- sbjson解析json数据遇到JSONValue failed. Error is: Illegal start of token [Ô]解决办法
- Android中数据文件解析(Json解析)
- iphone开发之iphone解析xml&json-2
- 【Android应用开发】-(17)获取Google天气预报通过Xml和JSON解析数据
- xml中java对象-->xml文件解析
- JavaScript加载XML文件,并解析为JSON对象
- ExtJS fileupload组件上传文件后从服务端解析JSON格式数据
- Android 获取Google Weather API 并通过Xml和JSON解析数据
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)