写一个样例一样的东西吧,是关于Xml文件读取的。
这是一个保卫萝卜的地图。
usingUnityEngine;
usingSystem.Collections;
usingSystem.Xml;
///Xml工具类
publicclassXmlTools
{
///加载level数据
///xml路径
///level结构
publicstaticvoidLoadLevel(stringfilePath,refLevellevel)
{
XmlDocumentdoc =newXmlDocument();
doc.Load(filePath);//加载xml文件
level.Name = doc.SelectSingleNode("Level/Name").InnerText;
level.CardImage = doc.SelectSingleNode("Level/CardImage").InnerText;
level.Background = doc.SelectSingleNode("Level/Background").InnerText;
level.Road = doc.SelectSingleNode("Level/Road").InnerText;
level.InitScore =int.Parse(doc.SelectSingleNode("Level/InitScore").InnerText);
//遍历Holder下面所有point子节点。
XmlNodeHolder = doc.SelectSingleNode("Level/Holder");
foreach(XmlNodenodeinHolder.ChildNodes)
{
Pointp =newPoint();
p.X =int.Parse(node.Attributes["X"].Value)+1;
p.Y =int.Parse(node.Attributes["Y"].Value)+1;
level.Holder.Add(p);
}
//遍历Round下面所有子节点。
XmlNodeRounds = doc.SelectSingleNode("Level/Rounds");
foreach(XmlNodenodeinRounds.ChildNodes)
{
Roundround =newRound();
round.Monster =int.Parse(node.Attributes["Monster"].Value);
round.Count =int.Parse(node.Attributes["Count"].Value);
level.Round.Add(round);
}
XmlNodePath = doc.SelectSingleNode("Level/Path");
foreach(XmlNodenodeinPath.ChildNodes)
{
Pointp =newPoint();
p.X =int.Parse(node.Attributes["X"].Value) + 1;
p.Y =int.Parse(node.Attributes["Y"].Value) + 1;
level.Path.Add(p);
}
}
}