600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Unity(C#)读写xml文件详解

Unity(C#)读写xml文件详解

时间:2018-11-09 17:42:01

相关推荐

Unity(C#)读写xml文件详解

目录

什么是xml文件?xml文件的结构如何读写xml文件

什么是xml文件?

xml文件是一种可拓展标记语言,由于简单易用,常被应用程序用于保存数据,unity也是如此,在我们需要控制读写用户的存档时,除了unity自带的PlayerPrefs或者是json,最常用到的就是xml文件,本篇 文章详细介绍unity(c#)中如何操控xml文件

xml文件的结构

先来看看一个完整的xml文件长什么样

<?xml version="1.0" encoding="UTF-8"?><student><student1 name="椎名"><age>5</age><sex>man</sex></student1><student2 name="mikan"><age>10</age><sex>woman</sex></student2><student3 name="みかん"><age>15</age><sex>woman</sex></student3></student>

一、文档声明:从文档可见,第一行的"<?xml version="1.0" encoding="UTF-8"?>"为xml文件的声明,意思是文档符合xml1.0规范,默认编码为UTF-8

二、根节点:这里的<student>为根节点,名称可以随意定义,它是文档里唯一的节点,开始于文档开头,结束于文档最末尾

三、元素:示例中<age>10</age>即为xml中的元素,<age>和</age>分别为开始标签和结束标签,10为元素的内容(注:xml的标签区分大小写,如写成<age>和</Age>则无法识别)

四:属性:文档示例"<student1 name=“椎名”></student1>"中,name即为元素student1的属性,一个元素可以拥有多个属性

如何读写xml文件

大致介绍完xml文件,现在来看看如何在unity中读写xml文件(后面使用的示例还是上面的文档)

C#要读写xml文件,首先要引用System.Xml

using System.Xml;

用unity的Resources.Load加载文件

TextAsset xmlFile = Resources.Load<TextAsset>(path); //加载path路径下的xml文件内容XmlDocument document = new XmlDocument(); //创建xml文件的变量document.LoadXml(xmlFile.text); //让xml文件变量读取xmlFile内的文本

解析xml,先获取根节点下的所有子节点

XmlNodeList nodeList = document.SelectSingleNode("student").ChildNodes; //将student节点的子节点加入至nodeList

将nodelist下的某个子节点转化成xml元素,就可以进行读写了

XmlElement elementStudent = (XmlElement)nodeList[num]; //子节点转化为元素elementStudent.GetAttribute("name"); //获取元素的name属性,如果上一行num为0,则这里返回的是"椎名"elementStudent.InnerText //获取元素的内容

完整代码

using UnityEngine;using System.Xml;public class XmlTest : MonoBehaviour{private void Start(){TextAsset xmlFile = Resources.Load<TextAsset>("xml");XmlDocument document = new XmlDocument();document.LoadXml(xmlFile.text);XmlNodeList nodeList = document.SelectSingleNode("student").ChildNodes;XmlElement elementStudent = (XmlElement)nodeList[0];Debug.Log(elementStudent.GetAttribute("name"));foreach (XmlElement element in elementStudent.ChildNodes){Debug.Log(element.InnerText);}}}

将文章开头的完整xml文档放在unity中Resources文件夹里,然后将上面的代码随便挂在一个物体上,运行游戏

可以发现成功将student1的属性"name"和student1中的age和sex这两个元素的内容打印出来了

ok,关于如何unity读写xml文件就介绍到这里,感谢大家的阅读。

如果对unity开发感兴趣,可以加入我们的交流群共同探讨!!

群号:385075578

个人QQ:79305

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。