Unity 基础 之 xml  使用 Office Excel 轻松编辑保存 xml 数据

目录

Unity 基础 之 xml  使用 Office Excel 轻松编辑保存 xml 数据

一、简单介绍

二、实现原理

三、注意事项

四、效果预览

五、实现步骤

六、关键代码


一、简单介绍

Unity中的一些基础知识点。便于后期开发使用。

本节介绍,如何使用 Office Excel 轻松编辑 xml 数据,并保存使用。

二、实现原理

1、一个xml 属性模板;

2、Office Excel 读取 xml 属性模板的信息;

3、Office Excel 添加数据,另存为 xml 数据,同时保存一份excle,便于后期修改维护;

4、导入 Unity 中,对应读取即可;

三、注意事项

1、xml 属性模板中一定要对应两条属性,一条可能Office Excel 识别不出为 xml;

2、注意另存为 xml 数据,而不是 xml 电子表格(xml 电子表格会带很多多余信息在xml中)

四、效果预览

五、实现步骤

1、可以新建一个文本txt,编辑需要的属性信息,保存,,然后修改后缀为 xml

(xml 属性模板中一定要对应两条属性,一条可能Office Excel 识别不出为 xml)

2、打开 Excel,把编辑好的xml 属性模板拖入 Excel,点击确定

3、编辑属性

4、然后另存为 xml 数据

(注意另存为 xml 数据,而不是 xml 电子表格(xml 电子表格会带很多多余信息在xml中))

5、把保存的 xml 数据导入 Unity 中的 Resources 文件夹

6、编写脚本,进行读取xml 数据,把脚本挂载到场景中

7、运行,解析结果

六、关键代码

1、xml 属性模板(XmlTemplate.xml)

<?xml version="1.0" encoding="UTF-8"?>
<root>
<item ID="">
<heroname></heroname>
<age></age>
<sex></sex>
<kungfu></kungfu>
</item>
<item ID="">
<heroname></heroname>
<age></age>
<sex></sex>
<kungfu></kungfu>
</item>
</root>

2、XmlReadAndParse.cs

using System;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using UnityEngine;public class XmlReadAndParse : MonoBehaviour
{List<Hero> heroList = null;// Start is called before the first frame updatevoid Start(){heroList = new List<Hero>();TextAsset xml = ReadXML("HerosData");if (ParseXML(xml) == true) {Debug.Log("heroList.Count : " + heroList.Count);foreach (Hero item in heroList){Debug.LogFormat("{0},{1},{2},{3},{4}",item.ID,item.Name,item.Age,item.Sex,item.Kungfu);}}}private TextAsset ReadXML(string path) {return Resources.Load<TextAsset>(path);}/// <summary>/// 对应 xml 属性解析/// </summary>/// <param name="textAsset">文件内容</param>/// <returns>true 成功解析</returns>private bool ParseXML(TextAsset textAsset){if (!textAsset){Debug.LogError("XML  数据不能为空");return false;}else{XmlDocument doc = new XmlDocument();doc.LoadXml(textAsset.text);XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;for (int i = 0; i < nodLst.Count; i++){XmlElement ele = nodLst[i] as XmlElement;if (ele.GetAttributeNode("ID") == null){continue;}Hero hero = new Hero();hero.ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);foreach (XmlElement e in nodLst[i].ChildNodes){switch (e.Name){case "heroname":hero.Name =e.InnerText;break;case "age":hero.Age = e.InnerText;break;case "sex":hero.Sex = e.InnerText;break;case "kungfu":hero.Kungfu = e.InnerText;break;}}heroList.Add(hero);}}return true;}
}public class Hero {public int ID { get; set; }public string Name { get; set; }public string Age { get; set; }public string Sex { get; set; }public string Kungfu { get; set; }public Hero() { }public Hero(int iD, string name, string age, string sex, string kungfu){ID = iD;Name = name;Age = age;Sex = sex;Kungfu = kungfu;}}

Unity 基础 之 xml 使用 Office Excel 轻松编辑保存 xml 数据,并解析读取数据相关推荐

  1. element excel导入数据,解析获取数据

    前端导入excel表格,解析为json格式数据 npm install xlsx -g 全局安装xlsx 新建一个组件,随意命名,键入以下代码,复制即可用 <template><sp ...

  2. python从EXCEL中读取数据转换为列表

    首先,安装xlrd库 我之前安装了Anaconda,Anaconda自带xlrd库,在这里安装xlrd库这一步就省略了. 代码实现 下面是代码部分 import xlrd as xd data =xd ...

  3. 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 2 部分

    本周您推脱老板的 #432 创新理由了吗?您是否尝试过推脱? 本系列的其他文章 读取.回收和重用:使用 Excel.XML 和 Java 技术轻松搞定报告,第 1 部分 有幸的是,您不必推脱.本系列的 ...

  4. 《Unity 3D游戏客户端基础框架》protobuf 导excel表格数据

    前言: 之前使用NPOI插件编写的导表工具,其实就是直接将数据进行序列化,解析时还需要进行反序列化,步骤比较繁复,最近看到Google的一个开源的项目protobuf,不仅可以用于进行excel表格数 ...

  5. ws office excel 基础知识

    1,启用宏操作在保存的时候. 这个叫做工作表,对于工作表的操作,单击右键可以完成大多数. 另外,隐藏工作表,与取消显示工作表,完全不同. 取消显示工作表,在 文件>选项>高级>显示工 ...

  6. 服务器2003系统安装office,Excel 2003

    Excel 2003 是一种电子表格程序,可提供对于 XML 的支持以及可使分析和共享信息更加方便的新功能.您可以将电子表格的一部分定义为列表并将其导出到 Microsoft Windows® Sha ...

  7. 在xml中定义excel的sheet_XML和Excel

    题注:本文译自www.jkp-ads.com,供有兴趣的朋友参考. 什么是XMLXML是可扩展标记语言(eXtended Markup Language)的缩写.对于网页来说,XML是标准的设想,目标 ...

  8. Unity基础知识汇总

    2.Unity相关知识 2.1 Unity介绍 Unity成为一款可以轻松创建游戏和三维互动的开发工具,是一个专业跨平台游戏引擎 Unity操作快捷键 Ctrl N New Scene 新建场景 Ct ...

  9. Python+Office:轻松实现python自动化办公

    前 言 办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用,进而提高生产率,实现辅助决策的目的.通常包括Excel.Word.P ...

最新文章

  1. 实战清除电脑上恶意弹出广告窗口
  2. HTML5与CSS3基础教程第八版学习笔记16-21章
  3. 板邓:wordpress建站不得不知的安全防护(二)
  4. AdvFlow:一种基于标准化流的黑盒攻击新方法,产生更难被发觉的对抗样本 | NeurIPS‘20
  5. Linux进程调度策略分析
  6. android中可以有两个焦点吗,android – 如何通过焦点在屏幕上调整两个片段的大小?...
  7. Python面试题(二)列表去重,单例
  8. centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...
  9. eclipse里面自动添加get和set方法
  10. 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解
  11. A8. 无人机编队飞行定位分析与讨论-大结局
  12. 金山词霸2006专业版(300M)的无法屏幕取词问题的解决方法!
  13. 用通俗易懂的方式讲解: GBDT算法及案例(Python 代码)
  14. MOS管、IGBT、BJT的区别
  15. 蔽月山房---作者,王阳明
  16. 提高百度网盘下载速度的方法
  17. Techwiz LCD 1D:SRF的颜色分析
  18. 随身的娱乐!PPC游戏模拟器详细介绍[转贴]
  19. sin傅里叶变换公式_全面解析傅立叶变换(非常详细)
  20. HourGlass源码阅读

热门文章

  1. 每日新闻丨人工智能应用红利兑现期正在到来;三星向华为供应可折叠OLED面板...
  2. 高密度无线覆盖解决方案
  3. Web前端-网站首页和注册界面的实现
  4. No tracked branch configured for branch dev-rongtong or the branch doesn‘t exist.
  5. Vue+Vant制作单选全选全不选以及删除按钮van-checkbox
  6. 太原理工大学 计算机专业课程,太原理工大学最全专业介绍
  7. excel 把已有的数据做成图表
  8. 同等学力计算机科学与技术真题-2006年
  9. 石油化工企业防雷工程和防雷接地应用方案
  10. Android音乐播放器-热门榜单