Unity 通过服务器加载配置文件(Text/XML/Json)
来源:互联网 发布:im聊天软件蓝色 编辑:程序博客网 时间:2024/05/21 10:17
思路:上传文件到本地服务器,通过www获取本地服务器中的配置文件数据,将配置文件中的数据存放到字典中方便使用
1.Json的写入格式
using System.Collections;using System.Collections.Generic;using UnityEngine;//通过放在Pluglns下的LitJson.dll自动搜索配置的using LitJson;public class JsonTest : MonoBehaviour { //创建Json文件路劲 private string path = "Information.json"; // Use this for initialization //用于接收json01字符串 private string Json1; public void CreateJson() { JsonWriter writer = new JsonWriter(); //开启Json的写入 writer.WriteObjectStart(); //英雄王昭君的信息 writer.WritePropertyName("Name"); writer.Write("王昭君"); writer.WritePropertyName("Property"); writer.Write("法师"); writer.WritePropertyName("Skill"); writer.Write("冰封千里"); writer.WritePropertyName("Name"); writer.Write("凯特琳"); writer.WritePropertyName("Property"); writer.Write("射手"); writer.WritePropertyName("Skill"); writer.Write("让子弹飞"); //写入完成关闭写入 writer.WriteObjectEnd(); //把writer里面的所有Json文件 Json1 = writer.ToString(); } //通过OnGUI void OnGUI() { if (GUI.Button(new Rect(100, 100, 100, 50), "打印")) { CreateJson(); } GUI.Label(new Rect(100, 200, 100, 100), json01); }}
2.XML的文档写入格式
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Xml;using System.IO;public class XMLTest : MonoBehaviour { //保存XML文件的路径 private string path = "Information1.XML"; private int xmlfile;// Use this for initializationvoid Start () { //合并路径 path = Path.Combine(Application.streamingAssetsPath, path); CreateXML();} private void CreateXML() { //如果不存在这个路就创建这个文件路径 if(!File.Exists(path)) { File.Create(path); } //实例化XML文档 XmlDocument xmlwriter = new XmlDocument(); //写入根节点 XmlElement root = xmlwriter.CreateElement("Character_Information"); //写入子节点 XmlElement characterMessager01 = xmlwriter.CreateElement("王昭君"); //为子节点添加属性 characterMessager01.SetAttribute("Property", "法师"); characterMessager01.SetAttribute("Skill","千里冰封"); //写入子节点 XmlElement characterMessager02 = xmlwriter.CreateElement("凯特琳"); //为子节点添加属性 characterMessager02.SetAttribute("Property", "射手"); characterMessager02.SetAttribute("Skill","让子弹飞"); //给父节点添加子节点 root.AppendChild(characterMessager01); root.AppendChild(characterMessager02); //把父节点添加到根节点 xmlwriter.AppendChild(root); //文件保存 xmlwriter.Save(path); }}
3.从本地服务器读取文件
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Xml;public class WWWTest : MonoBehaviour { private WWW www; private string Url="http://localhost:8080/GoodsTable.txt"; private string Url01 = "http://localhost:8080/Test.xml"; public Dictionary<string, Dictionary<string, string>> inforAll = new Dictionary<string, Dictionary<string, string>>();// Use this for initializationIEnumerator Start () { www = new WWW(Url01); //等待www从服务器里面下载完成 yield return www; // if(!string.IsNullOrEmpty(www.error)) { Debug.LogError(www.error); } else { ConfigXML(www.text); }} //XML文件提取 public void ConfigXML(string xml) { XmlDocument xmlDoc = new XmlDocument(); //加载传进来的字符串转化为XML文件 xmlDoc.LoadXml(xml); //用于接收子节点的数据 XmlElement element = null; //获取到Character_Information根节点下的所有子节点 XmlNodeList list = xmlDoc.SelectSingleNode("Character_Information").ChildNodes; for (int i = 0; i < list.Count;i++) { element = list[i] as XmlElement; //把信息添加到字典中 inforAll.Add(element.Name,new Dictionary<string, string>()); inforAll[element.Name].Add(element.GetAttribute("Property"), element.GetAttribute("Skill")); } } //TXT文件提取 public void ConfigTXT(string config) { string[] items = null; string[] lines = null; //读出来的TXT文件是一长串字符串 //按 # 将每行切分出来 lines = (config.Trim()).Split('#'); for (int i = 0; i < lines.Length;i++) { items = lines[i].Trim().Split('|'); inforAll.Add(items[0],new Dictionary<string, string>()); inforAll[items[0]].Add(items[1], items[2]); } }}
阅读全文
0 0
- Unity 通过服务器加载配置文件(Text/XML/Json)
- RESTEasy通过TEXT、XML、JSON进行数据交换
- Unity读取 JSon配置文件
- Unity读取 JSon配置文件
- 通过web.xml中的监听器加载spring配置文件
- 通过类加载配置文件
- spring加载xml配置文件
- Spring:加载xml配置文件
- spring加载xml配置文件
- Unity中读Xml配置文件
- RESTEasy通过ApacheAPI或JavaAPI进行TEXT、XML、JSON数据交换
- Unity Json与Xml解析
- 服务器使用json格式配置文件
- 通过web.xml文件自动启动spring容器加载对应的配置文件
- maven加载过慢,xml配置文件
- Spring中加载xml配置文件
- Unity Application Block--通过配置文件读取映射
- Unity Application Block--通过配置文件读取映射
- git与tag命令小结
- yolo.cfg文件
- 杭电oj 1075 map的使用
- Java拓展——随机数小程序
- 算法复杂度分析
- Unity 通过服务器加载配置文件(Text/XML/Json)
- 博客第一篇
- 通过一个例子来探讨交互式环境下输入
- 花自己的时间,给别人踩坑,
- Redis的三种启动方式
- linux下安装MySQL
- 欢迎使用CSDN-markdown编辑器
- 非递归中序遍历二叉树算法详解
- D3-匆忙的记录