C#之XML文档解析(一)

源代码:

using System;
using System.Threading;
using System.Xml;
using System.Collections.Generic;
            public static void Main(string[] args){
			XmlDocument xd=new XmlDocument();
			xd.Load("test.xml");//加载xml文档
			XmlNode rootNode= xd.FirstChild;//得到xml文档的根节点
			XmlNodeList childNodes= rootNode.ChildNodes;//得到根节点下面的所有子节点
			List<Character> playerList=new List<Character>();//创建character类型的列表
			foreach(XmlNode p in childNodes){//遍历各个角色
				Character player=new Character();//创建一个角色,用来存储查询到的信息
				XmlNodeList contentList= p.ChildNodes;//得到该角色结点下的所有子节点
				foreach(XmlNode content in contentList){//遍历子节点
					if(content.Name=="name"){
						player.Name=content.InnerText.ToString();
					}
					if(content.Name=="profession"){
						player.Profession=content.InnerText.ToString();
					}
					if(content.Name=="skill"){
						player.Skill=content.InnerText.ToString();
					}
					if(content.Name=="damage"){
						player.Damage=Int16.Parse( content.InnerText.ToString());
					}
				}
				playerList.Add(player);//将创建的角色添加到角色列表
			}
			foreach(Character p in playerList)//遍历角色信息
				Console.WriteLine(p.ToString());
			Console.ReadKey();
		}
class Character{
		public Character(){}
		public string Name{get;set;}
		public string Profession{get;set;}
		public string Skill{get;set;}
		public int Damage{get;set;}
		public override string ToString()
		{
			return string.Format("[Character Name={0}, Profession={1}, Skill={2}, Damage={3}]", Name, Profession, Skill, Damage);
		}

	}

代码只截取了其中一部分,没用的我就没粘上来

XML文本内容:

  <character>
  <player><name>武则天</name><profession>法师</profession><skill>生杀予夺</skill><damage>1100</damage> </player>
  <player><name>吕布</name><profession>战士</profession><skill>神魔降世</skill><damage>900</damage></player>
  <player><name>孙悟空</name><profession>刺客</profession><skill>如意金箍</skill><damage>770</damage></player>
  <player><name>妲己</name><profession>法师</profession><skill>女王崇拜</skill><damage>485</damage></player>
  </character>

运行结果:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值