1、在场景里面创建三个物体Cube、Sphere、Cylinder,如图1-1所示。
2、给上述物体添加Tag标签,如图1-2。
3、给Main Camera添加一个脚本XMLScripts
4、编辑脚本
4.1 引用system.Xml
using UnityEngine;
using System.Collections;
<span style="color:#3333ff;">using System.Xml;</span>
4.2 编辑脚本内容
public class XMLScripts : MonoBehaviour
{
void Start()
{
CreatePlayerXML();//调用方法
}
void CreatePlayerXML()//自定义方法
{
XmlDocument doc = new XmlDocument();//定义XmlDocument变量
string filePath = Application.dataPath + @"/Player.xml";//定义保存XML文件路径
XmlElement PlayerInfo = doc.CreateElement("PlayerInfo");//在doc中创建元素player(属于一级)
doc.AppendChild(PlayerInfo);//将player添加到doc文件中
GameObject[] Players = GameObject.FindGameObjectsWithTag("Player");//定义Players数组存放物体
for (int i = 0; i < Players.Length; i++)//分别保存Tag为Player的信息
{
XmlElement transform = doc.CreateElement("transform");//创建transform元素
PlayerInfo.AppendChild(transform);//将transform添加到PlayerInfo
transform.SetAttribute("name", Players[i].name);
XmlElement position_x = doc.CreateElement("position_x");//创建position_x元素
position_x.InnerText = Players[i].transform.position.x.ToString();//position_x中存放tgameobject的x坐标
transform.AppendChild(position_x);//将position_x添加到transform元素中
XmlElement position_y = doc.CreateElement("position_y");
position_y.InnerText = Players[i].transform.position.y.ToString();
transform.AppendChild(position_y);
XmlElement position_z = doc.CreateElement("position_z");
position_z.InnerText = Players[i].transform.position.z.ToString();
transform.AppendChild(position_z);
}
doc.Save(filePath);//保存doc文件
}
}
5、运行,在Assert中出现一个.xml文档,如图1-3所示
6、打开Player文档,显示如下内容
<PlayerInfo>
<transform name="Cylinder">
<position_x>0</position_x>
<position_y>0</position_y>
<position_z>2</position_z>
</transform>
<transform name="Sphere">
<position_x>2</position_x>
<position_y>0</position_y>
<position_z>0</position_z>
</transform>
<transform name="Cube">
<position_x>0</position_x>
<position_y>0</position_y>
<position_z>0</position_z>
</transform>
</PlayerInfo>
这就是简单的XML创建