Xml文档解析
来源:互联网 发布:电脑没网络手机能连上 编辑:程序博客网 时间:2024/06/07 11:51
现在工程中新建一个 Xml 文档 名字 为 (Skills.xml)内容如下 (补充 :选中xml文档选中复制较新的到输出目录)
<skills> <sikll> <id>2</id> <name lang="cn">天下无双</name> <damage>123</damage> </sikll> <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>然后再新建一个Skill 类 代码如下
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace XML解析{ 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() { return string.Format("id:{0},name:{1},lang:{2},Damage:{3}", Id, Name, Lang, Damage); } }}
然后再 Main 函数进行解析 代码如下
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;namespace XML解析{ class Program { static void Main(string[] args) { //创建技能信息集合 用来存储所有技能信息 List<Skill> skillList = new List<Skill>(); //用来专门解析Xml文档的 XmlDocument xmlDox = new XmlDocument(); // xmlDox.Load("Skills.xml"); //选择要加载的xml文档 xmlDox.LoadXml(File.ReadAllText("Skills.xml"));//传递一个字符串 Xml格式的字符串 //得到根节点 (Xml)用来代表一个结点) XmlNode rootNode = xmlDox.FirstChild; // 得到根节点下的子节点的集合 XmlNodeList skillNodeList= rootNode.ChildNodes;//用来获取当前结点下的所有子节点 foreach (XmlNode skillNode in skillNodeList) { Skill skill = new Skill(); XmlNodeList fieldNodeList = skillNode.ChildNodes; //获取skill节点下的所有节点 foreach (XmlNode fileNode in fieldNodeList) { if (fileNode.Name=="id") { int id=Int32.Parse ( fileNode.InnerText);// 获取节点内部文本; skill.Id = id; } else if(fileNode.Name=="name") { string name = fileNode.InnerText; skill.Name = name; skill .Lang= fileNode.Attributes[0].Value; //获取索引为0的属性值(第一个) } else { skill.Damage = Int32.Parse(fileNode.InnerText); } } skillList.Add(skill); } foreach (Skill item in skillList) { Console.WriteLine(item); } Console.ReadKey(); } }}输出结果 就是已经解析好的XML文档
id:2,name:天下无双,lang:cn,Damage:123id:3,name:永恒零度,lang:cn,Damage:90id:4,name:xxx,lang:en,Damage:400
最后补充难度增加:
阅读全文
0 0
- Dom解析XML文档
- jdom解析xml文档
- Java解析XML文档
- JAVA 解析XML文档
- DOM 解析 XML 文档
- DOM解析XML文档
- TinyXML解析xml文档
- jdom解析xml文档
- xml 文档解析
- Symbian解析XML文档
- java解析xml文档
- Dom4j解析XML文档
- 解析xml文档
- libxml -- 解析 XML 文档
- DOM解析XML文档
- dom4j解析xml文档
- XML文档解析技术
- Android XML文档解析
- 练习10
- Mysql赋给用户权限grant all privileges on
- nyoj117 求逆序数 归并排序
- 反射(1)—基本知识
- 【拜小白opencv】3-彩色图像通道分离与合成;split()与merge()
- Xml文档解析
- LCS Common Subsequence
- 导弹拦截
- java web实现简单文件下载
- String和Buffer互转
- String、StringBuffer与StringBuilder之间区别
- 眼图(Eye Diagram)与数字信号测试眼图
- js.数组和函数
- 2017HDU多校第5场