Unity3d-XML文件数据解析&JSON数据解析
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数据模型类
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>放到Unityproject中删除目录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数据解析的更多相关文章
- C#程序中:如何修改xml文件中的节点(数据)
要想在web等程序中实现动态的数据内容给新(如网页中的Flash),不会更新xml文件中的节点(数据)是远远不够的,今天在这里说一个简单的xml文件的更新,方法比较基础,很适合初学者看的,保证一看就懂 ...
- Jquery Ajax和getJSON获取后台普通Json数据和层级Json数据解析
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Gson解析复杂Json数据
背景 json是一种数据格式,便于数据传输.存储.交换. gson是 ...
- 解析天气预报JSON数据
解析天气预报JSON数据 JSON字符串 constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'"status" ...
- mormot解析天气预报JSON数据
mormot解析天气预报JSON数据 uses SynCommons; constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'&qu ...
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...
- XML 数据请求与JSON 数据请求
(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...
随机推荐
- w3cschool javascript学习
name与Id属性区别 1.我们知道在网页做Post提交时,是以Form(即表单域)为单位进行提交的,一个Form里有若干个表单对象(如<input type="text" ...
- catkin详细解释
http://answers.ros.org/question/58498/what-is-the-purpose-of-catkin_depends/
- CentOS6.8-minimal安装gnome桌面 安装NVC远程桌面连接
https://blog.csdn.net/nimasike/article/details/72844403
- ionic3 关于屏幕方向问题
关于屏幕方向问题 使用ionic-native中的screen-orientation ionic cordova plugin add cordova-plugin-screen-orientati ...
- hdu5970
真是怀疑当初合肥赛区怎么考这么差的…… 首先根据辗转相除法可知f(i,j)=f(i+j*k,j) 于是我们可以先于处理出f(i,j) (j<=666,i<=j),当确定i,j时c也确定 ( ...
- 【互动问答分享】第10期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client ...
- Windows和Ubuntu平台Android +JAVA 环境搭建
NOTE 测试的时候,尤其是移动端的测试,需要搭建JAVA和Andriod环境: appium和macaca都需要这两个环境: Q&A Macaca doctor 发现没有platforms这 ...
- /usr/bin/env: php: No such file or directory 【xunsearch demo项目体验】【已解决】
出现这个问题的原因是/usr/local/bin 或 /usr/bin 下面没有php可执行文件 解决办法: 建立一条硬链接 ln /path/to/bin/php /usr/local/bin/p ...
- 机器人搬重物(BFS)
机器人搬重物 时间限制: 1 Sec 内存限制: 128 MB提交: 22 解决: 10[提交][状态][讨论版] 题目描述 机 器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一 ...
- oracle tablespace usage status
select a.tablespace_name, a.bytes / 1024 / 1024 "Sum MB", (a.bytes - b.bytes) / 1024 / 102 ...