Unity3D开发之XML解析
来源:互联网 发布:生物医药上市知乎 编辑:程序博客网 时间:2024/06/07 20:31
XML文件的解析类似游戏中配置文件的更改。在程序外部就可以更改程序运行模式。好了,上代码,这是解析xml的通用类。
using System.Collections.Generic;using System.IO;using System.Xml;using UnityEngine;/// <summary>/// 读取配置文件/// </summary>public class LoadXml{ public static string xmlPath = Application.streamingAssetsPath + "/Id.config"; public static readonly object _lockHelper = new object(); public static XmlDocument _xml = new XmlDocument(); public static void Open() { if (File.Exists(xmlPath)) { _xml.Load(xmlPath); //Debug.Log("open id.config successful"); } } public static List<string> returnValue() { lock (_lockHelper) { Open(); XmlNode id = _xml.SelectSingleNode("/root/ID"); List<string> valueList = new List<string>(); foreach (XmlNode xl in id.ChildNodes) { valueList.Add(xl.InnerText); //Debug.Log(xl.InnerText); } return valueList; } } public static string getValue(string s) { lock (_lockHelper) { Open(); s = "/root/" + s.Replace(".", "/"); XmlNode id = _xml.SelectSingleNode(s); Debug.Log(id.InnerText.Trim()); return id.InnerText.Trim(); } } public static Dictionary<string, string> returnHRZParameter() { lock (_lockHelper) { Open(); XmlNode hrzId = _xml.SelectSingleNode("/root/HRZID"); //Debug.Log(hrzId.ChildNodes.Count); Dictionary<string, string> parameterDic = new Dictionary<string, string>(); if (hrzId.ChildNodes.Count>0) { foreach (XmlNode parameter in hrzId.ChildNodes) { XmlElement _parameter = (XmlElement)parameter; if (parameterDic.ContainsKey(_parameter.GetAttribute("name").Trim())) { Debug.LogError(_parameter.GetAttribute("name").Trim()); return null; } if (!Globle.IsExcute) { Globle.IsExcute = true; Globle.IdValue = _parameter.GetAttribute("id").Trim(); } parameterDic.Add(_parameter.GetAttribute("name").Trim(), _parameter.GetAttribute("id").Trim()); } return parameterDic; } return null; } }}对应的配置文件格式如下:
希望对你有帮助。双击评论666哈哈
阅读全文
0 0
- Unity3D开发之XML解析
- [Unity3D]Unity3D游戏开发之Xml解析实现NPC对话系统
- Unity3d之LitJson例子解析+XML
- iOS开发之XML解析
- android 开发之解析xml
- iOS开发之XML解析
- iOS开发之XML解析
- Android 开发之 XML 解析
- Unity3D之使用 C#合成解析XML与JSON
- Unity3D研究院之使用 C#合成解析XML与JSON
- Unity3D之使用 C#合成解析XML与JSON
- Unity3D研究院之使用 C#合成解析XML与JSON
- Unity3D研究院之使用 C#合成解析XML与JSON
- Android开发之XML解析——SAX解析XML
- Android开发之XML文件解析
- android开发之sax解析xml文档
- Iphone开发之xml解析流程小结
- Android开发之xml解析技术
- 阅读源码第一天——Collection
- idea安装alibba代码规范检测
- 给定入栈顺序,输出所有可能的出栈情况,并判断给定的序列是否为正确的输出序列
- GDB 调试
- 四种修饰符
- Unity3D开发之XML解析
- Java数据类型整理
- 人工智能微信讨论群
- css js bundle
- tomcat如何访问非webapp下的资源文件
- mysql 查看当前使用的配置文件my.cnf
- angular JS 三种服务
- OkHttp3-Android网络请求框架常用用法介绍与实例(mob请求天气预报),还好!
- java通过反射获取枚举对象