csharp读取Xml文档
来源:互联网 发布:四川地道川货网络大赛 编辑:程序博客网 时间:2024/06/05 09:29
主程序
class Program { static void Main(string[] args) { //创建技能信息集合,用来存储所有的技能信息 List<Skill> skillList = new List<Skill>(); // XmlDocment专门用来解析xml文档的 XmlDocument xmlDoc = new XmlDocument(); //选择要加载解析的xml文档 //xmlDoc.Load("skillinfo.txt"); xmlDoc.LoadXml(File.ReadAllText("skillinfo.txt") );//传递一个字符串(xml格式的字符串) //得到根结点 <skills> XmlNode rootNode = xmlDoc.FirstChild;//获取第一个结点 //得到根结点下面的子节点的集合 <skill> XmlNodeList skillNodeList= rootNode.ChildNodes; foreach (XmlNode skillNode in skillNodeList) { Skill skill = new Skill(); XmlNodeList fieldNodeList = skillNode.ChildNodes;//获取skill结点下面所有的结点 id,name,damage foreach (XmlNode fieldNode in fieldNodeList) { if (fieldNode.Name == "id")//通过Name属性 可以获取一个结点的名字 { int id = Int32.Parse(fieldNode.InnerText);//获取结点内部的文本 skill.Id = id; } else if (fieldNode.Name == "name") { skill.Name = fieldNode.InnerText; skill.Lang = fieldNode.Attributes[0].Value;//第一个属性的值 Attributes[1].Name第二个属性的名字 } else { skill.Damage = Int32.Parse(fieldNode.InnerText); } } skillList.Add(skill); } foreach (Skill skill in skillList) { Console.WriteLine(skill); } } }
class Skill { public int Id { get; set; } public string Name { get; set; } public string Lang { get; set; } public int Damage { get; set; } public override string ToString()//resharper:alt+ins+选择formatting members 自动生成Tostring方法 { return string.Format("Id: {0}, Name: {1}, Lang: {2}, Damage: {3}", Id, Name, Lang, Damage); } }
Xml文档
<skills> <skill> <id>2</id> <name lang="cn">天下无双</name> <damage>123</damage> </skill> <skill> <id>3</id> <name lang="cn">永恒零度</name> <damage>90</damage> </skill> <skill> <id>4</id> <name lang="en">Xxx</name> <damage>400</damage> </skill></skills>
0 0
- csharp读取Xml文档
- 使用Csharp读写XML文档
- 使用Csharp插入数据到XML文档
- C# 读取XML文档
- 客户端读取Xml文档
- C#读取XML文档
- 读取xml文档
- C# 读取XML文档
- 读取XML文档
- js 读取xml文档
- 读取XML文档
- 读取XML文档
- dom4j读取xml文档
- dom4j读取xml文档
- JDOM读取XML文档
- C#读取XML文档
- AS3读取XML文档
- dom4j读取xml文档
- java中的extends 和implements
- Android 之 SQLite数据库 查询数据库
- 【设计模式】观察者模式
- maven入门之helloworld
- 大神的ACM训练计划(详细)
- csharp读取Xml文档
- split分割字符串
- bash脚本中出现[[:not found错误的解决方法
- ThreadPoolExecutor(二)——execute
- java接口继承多个接口
- java时间格式的转化问题
- INNODB判断缓存是否充足
- 跟着鬼哥学Android java hook(一)
- 解决模态窗口按回车键出现很多窗口bug