原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2018/1121/202.html
简单的xml操作--解析技能xml
xml文件
<skills>
<skill>
<id>1</id>
<name lang="cn">大荒囚天指</name>
<demage>100</demage>
</skill>
<skill>
<id>2</id>
<name lang="en">绝对零度</name>
<demage>200</demage>
</skill>
<skill>
<id>3</id>
<name lang="ger">青龙魂</name>
<demage>1000</demage>
</skill>
</skills>
创建对应的skill类,重写了ToString方法 方便输出
class Skill
{
public int ID { get; set; }
public string Name { get; set; }
public string Lang { get; set; }
public int Demage { get; set; }
public override string ToString()
{
return string.Format("Id:{0},Name:{1},Lang:{2},Demage:{3}", ID, Name, Lang, Demage);
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace xml操作
{
class Program
{
static void Main(string[] args)
{
List<Skill> skillList = new List<Skill>();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("skillInfo.txt");
//根节点
XmlNode root = xmlDoc.FirstChild;
XmlNodeList skillsNodeList = root.ChildNodes;
foreach (XmlNode skillNode in skillsNodeList)
{
Skill skill = new Skill();
foreach (XmlNode filedNode in skillNode.ChildNodes)
{
if (filedNode.Name == "id")
{
skill.ID = int.Parse( filedNode.InnerText);
}
else if (filedNode.Name == "name")
{
skill.Name = filedNode.InnerText;
skill.Lang = filedNode.Attributes[0].Value;
}
else if (filedNode.Name == "demage")
{
skill.Demage = int.Parse(filedNode.InnerText);
}
}
skillList.Add(skill);
}
foreach (var item in skillList)
{
Console.WriteLine(item);
}
}
}
}
上篇:上一篇:Unity游戏的GC(garbagecollection)优化
下篇:下一篇:Unity3D(C#)事件分发机制的实现