C#XML文件操作2

首先声明,本博主采用的是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("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);
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值