1 <?xml version="1.0" encoding="utf-8" ?> 2 <skills> 3 <skill> 4 <id>1</id> 5 <name lang ="cn">a</name> 6 <damage>100</damage> 7 </skill> 8 <skill> 9 <id>2</id> 10 <name lang ="cn">b</name> 11 <damage>100</damage> 12 </skill> 13 <skill> 14 <id>3</id> 15 <name lang ="cn">c</name> 16 <damage>100</damage> 17 </skill> 18 <skill> 19 <id>4</id> 20 <name lang ="cn">d</name> 21 <damage>100</damage> 22 </skill> 23 <skill> 24 <id>5</id> 25 <name lang ="cn">e</name> 26 <damage>100</damage> 27 </skill> 28 </skills>
1 class Skill 2 { 3 public int id { get; set; } 4 public string name { get; set; } 5 public string lang { get; set; } 6 public int damage { get; set; } 7 }
1 List<Skill> skills = new List<Skill>(); 2 XmlDocument xml = new XmlDocument(); 3 //路径加载 4 xml.Load("Skills.xml"); 5 //字符串加载 6 //xml.LoadXml(File.ReadAllText("Skills.xml")); 7 XmlNode root = xml.ChildNodes[1]; 8 XmlNodeList skillList = root.ChildNodes; 9 foreach (XmlNode skill in skillList) 10 { 11 Skill _skill = new Skill(); 12 foreach (XmlNode node in skill.ChildNodes) 13 { 14 if(node.Name == "id") 15 { 16 _skill.id = int.Parse(node.InnerXml); 17 } 18 if (node.Name == "name") 19 { 20 _skill.name = node.InnerXml; 21 _skill.lang = node.Attributes[0].Value; 22 } 23 if (node.Name == "damage") 24 { 25 _skill.damage = int.Parse(node.InnerXml); 26 } 27 } 28 skills.Add(_skill); 29 } 30 foreach (var item in skills) 31 { 32 Console.WriteLine(item.id + "/" + item.name + "/" + item.damage); 33 }
