unity3d使用Mono.Xml读取xml
发布时间:2020-12-16 09:12:09 所属栏目:百科 来源:网络整理
导读:unity3d读取xml有好几种方式,最简单是直接利用c#读取xml,但是项目打包可能有点大。另外两个是利用其他轻量级xml库来实现,如Mono.Xml、XMLParser。Mono.Xml是c#写的,XMLParser是js写的。文章主要说明Mono.Xml的用法。 首先,定义一个xml文件,如下: ?xml
|
unity3d读取xml有好几种方式,最简单是直接利用c#读取xml,但是项目打包可能有点大。另外两个是利用其他轻量级xml库来实现,如Mono.Xml、XMLParser。Mono.Xml是c#写的,XMLParser是js写的。文章主要说明Mono.Xml的用法。
首先,定义一个xml文件,如下: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ROOT> <table wave="1" level="1" name="John"/> <table wave="2" level="1" name="Lucy"/> </ROOT>把Mono.Xml加进unity3d项目。下载地址: http://download.csdn.net/detail/cwqcwk1/7105071 unity3d利用Mono.xml读取xml的代码如下: using UnityEngine;
using System.Collections;
using Mono.Xml;
using System.IO;
using System.Security;
public class XmlLorder {
public void Read()
{
SecurityParser SP = new SecurityParser();
<span style="white-space:pre"> </span>//假设xml文件路径为 Resources/test.xml,其中,不可像原文章一样XMLPATH = "test.xml",此处应为test,不带后缀 string xmlPath = "test"; //调用XML里自带的LoadXML函数 <span style="white-space:pre"> </span>SP.LoadXml(Resources.Load( xmlPath ).ToString()); //ToXml()返回的是XML的根节点
SecurityElement SE = SP.ToXml();
<p> //遍历根节点下的子节点,并取出相应的属性</p><p><span style="white-space:pre"> </span>foreach (SecurityElement child in SE.Children)</p><p><span style="white-space: pre;"> </span>{</p><p><span style="white-space: pre;"> </span>//比对下是否使自己所需要得节点</p>
<span style="white-space:pre"> </span>if(child.Tag == "table")
<span style="white-space:pre"> </span>{
//获得节点得属xìng
string wave = child.Attribute("wave");
string level = child.Attribute("level");
string name = child.Attribute("name");
Debug.Log("wave:" + wave + " level:" + level + " name:" + name);
}
}
}
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
