您的位置:首页 > 移动开发 > Unity3D

unity XML 初初初入门

2016-01-29 17:25 513 查看
xml在unity中可以用来保存各种配置(Scene)和数据(装备数据)资源,同样的还有jason和binary,所以这三种文件对我们以后写代码是相当重要的。

下面写了一个小小的工程作为入门来认识下XmlDocument、XmlElement、SetAttribute、InnerText分别是什么

1.新建一个项目工程,名字随便写,进入unity后在资源面板里新建两个文件夹

Editor – 存放工具类,这个文件夹里的东西在生成可执行文件时不会打包进去

StreamingAssets – 存放资源文件,便于进行资源更新

2.在Editor中新建ExportScene.cs, 代码如下:

注释已写好

/*****************************
*
*  Author : TheNO.5
*
******************************/

using UnityEngine;
using UnityEditor;
using System.IO;
using System.Xml;

public class CreateXML : MonoBehaviour
{
// 新建菜单项
[MenuItem("Editor/CreateXML")]
static void ExportSceneToXML()
{
//获取XML保存路径,引号中的可以自己指定,前提是指定文件夹必须存在
string filePath = Application.dataPath + @"/StreamingAssets/TestXML.xml";
// 如果此文件已存,则删掉
if(File.Exists(filePath))
File.Delete(filePath);

// 新建一个XML
XmlDocument xmlDoc = new XmlDocument();
// 为这个XML创建两个元素节点
XmlElement config = xmlDoc.CreateElement("Config");
XmlElement scene = xmlDoc.CreateElement("Scene");
// 设置scene元素的属性
scene.SetAttribute("name", filePath);
// 创建另一个新元素节点
XmlElement position = xmlDoc.CreateElement("position");
// 同上
XmlElement x = xmlDoc.CreateElement("x");
// 设置元素内容
x.InnerText = "InnerText";

// 指定各节点层级关系
position.AppendChild(x);
scene.AppendChild(position);
config.AppendChild(scene);
xmlDoc.AppendChild(config);

// 保存
xmlDoc.Save(filePath);

// 刷新,作用相当于在unity中的资源面板中右击-刷新(Refresh)
AssetDatabase.Refresh();
}
}


3.回到unity



添加的菜单在这里,点击,会在资源中生成TestXML.xml



4.然后就可以打开查看生成的xml代码,我用vscode打开的,贴上。

对照第二步代码看

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: