C# XML文件读取

前言
  • xml也是一种文本格式
  • 我们一般将信息存储在节点属性和节点内容中, 通过遍历获得
步骤
  • 获取根节点
  • 然后获取根节点的所有子节点
  • 遍历节点,将属性值或节点内容赋给实体类的属性
  • C#中内置有对xml的解析库, using System. Xml
  • 注意xml的属性必须带双引号
<SkillInfo>
    <SkillList>
        <Skill
            SkillID="20002" /* 技能ID */
            SkillEngName="Smash" /* 技能英文名称(注:并非所有名称均为规范拼写) */
            TriggerType="1" /* 字面意为技能触发类型,0主要为各种精通类技能,1为主动,2为被动,3主要为敌人主动技能,4主要为炼金术技能,5目前为尚未开放的魔法枪 */
            ImageFile="data/gfx/image/gui_icon_skill_000.dds" /* 技能图标所在文件 */
            AvailableRace="7" /* 可使用该技能的种族,1为人类,2为精灵,4为巨人,3为人类+精灵,5为人类+巨人(知道UNIX文件属性算法的看到这里可能会会心一笑),目前暂无值为6(精灵+巨人)的技能 */
        >
			<Name>重击</Name>
		</Skill>
        <Skill
            SkillID="20003" 
            SkillEngName="Hide" 
            TriggerType="2" 
            ImageFile="data/gfx/image/gui_icon_skill_001.dds" 
            AvailableRace="1" 
        >
			<Name>隐身</Name>
		</Skill>
    </SkillList>
</SkillInfo>
 private void ReadXMLByPath(string path)
    {
        //<1>实例化一个XML文档操作对象.
        XmlDocument doc = new XmlDocument();

        //<2>使用XML对象加载XML.
        doc.Load(path);
		//通过string方式加载
		doc.LoadXml(xmlstr); //xml格式的字符串
        //<3>获取根节点.
        XmlNode root = doc.SelectSingleNode("Web");
      //或者通过以下方式获得
      XmlNode root = doc.FirstChild;
        //<4>获取根节点下所有子节点.
        XmlNodeList nodeList = root.ChildNodes;

        //<5>遍历输出.
        foreach(XmlNode node in nodeList)
        {
            //取属性.
            int id = int.Parse(node.Attributes["id"].Value);
            //取文本.
            string name = node.ChildNodes[0].InnerText;
            string url = node.ChildNodes[1].InnerText;

            Debug.Log(id + "--" + name + "--" + url);
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值