您的位置:首页 > 编程语言 > C#

C#XML文件操作2

2017-03-29 20:59 375 查看

首先声明,本博主采用的是vs2015

1.创建工程和文本文件



skill.txt:

<SkillInfo>
<SkillList>
<Skill
SkillID="20002"
SkillEngName="Smash"
TriggerType="1"
ImageFile="data/gfx/image/gui_icon_skill_000.dds"
AvailableRace="7"
>
<Name>重击</Name>
</Skill>
<Skill
SkillID="20003"
SkillEngName="Hide"
TriggerType="2"
ImageFile="data/gfx/image/gui_icon_skill_001.dds"
AvailableRace="1"
>
<Name>隐身</Name>
</Skill>
<Skill
SkillID="20004"
SkillEngName="Ikari"
TriggerType="3"
ImageFile="data/gfx/image/gui_icon_skill_002.dds"
AvailableRace="1"
>
<Name>怒之翼</Name>
</Skill>
<Skill
SkillID="20005"
SkillEngName="Revenge"
TriggerType="5"
ImageFile="data/gfx/image/gui_icon_skill_003.dds"
AvailableRace="2"
>
<Name>光之复仇</Name>
</Skill>
</SkillList>
</SkillInfo>


Skill.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XML文件2
{
class Skill
{
public int Id;
public string Name;
public string EngName;
public int TriggerType;
public string ImageFile;
public int AvailableRace;

public override string ToString()
{
return string.Format(
4000
"Id:{0},Name:{1},EngName:{2},TriggerType:{3},ImageFile:{4},AvailableRace:{5}",Id,Name,EngName,TriggerType,ImageFile,AvailableRace);
}
}
}


Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace XML文件2
{
class Program
{
static void Main(string[] args)
{
List<Skill> skillList = new List<Skill>();//存放技能结点
XmlDocument xmlDoc = new XmlDocument();//xml解析类
xmlDoc.Load("skill.txt");//加载xml文件
XmlNode rootNode = xmlDoc.FirstChild;//取得根结点
XmlNode skillListNode = rootNode.FirstChild;//取得技能列表结点
XmlNodeList skillNodeList = skillListNode.ChildNodes;//取得技能结点链表
foreach (XmlNode skillNode in skillNodeList)
{
Skill skill = new Skill();
XmlElement ele = skillNode["Name"];//取得一个技能的元素,类似Xmlnode
skill.Name = ele.InnerText;
XmlAttributeCollection col = skillNode.Attributes;//取得属性列表
skill.Id = int.Parse(col["SkillID"].Value);//获取属性的值
skill.EngName = col["SkillEngName"].Value;
skill.TriggerType = int.Parse(col["TriggerType"].Value);
skill.ImageFile = col["ImageFile"].Value;
skill.AvailableRace = int.Parse(col["AvailableRace"].Value);
skillList.Add(skill);//添加一个技能到自己的列表里
}
foreach (Skill s in skillList)
{
Console.WriteLine(s);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# xml