在VS中编写XML实例程序

1、如下,在 VS 中分别新建  XML 文件、XML 解析类、XML 实体类

2、在项目中代码,如下

(1)XML 文件(注:在 VS 解决方案资源管理器中选中 XML 文件,点击属性将【复制到输出目录】中的“不复制”改为“如果较新则更新”)

  1. <ProjectDialogsInfo>
  2. <Dialog language="CN">
  3. <Speak>英雄</Speak>
  4. <Content>这是哪里?</Content>
  5. </Dialog>
  6.  
  7. <Dialog language="CN">
  8. <Speak>NPC</Speak>
  9. <Content>你好,欢迎来到亚特兰蒂斯地下城!</Content>
  10. </Dialog>
  11.  
  12. <Dialog language="CN">
  13. <Speak>英雄</Speak>
  14. <Content>你好,我是XML演示文件!</Content>
  15. </Dialog>
  16. </ProjectDialogsInfo>

(2)XML 实体类

  1. /***
  2. *
  3. * 实体类:对话信息
  4. */
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10.  
  11. namespace XMLDemo1
  12. {
  13. class Dialogs
  14. {
  15. //语言
  16. public string Language { set; get; }
  17. //编号
  18. public int Number { set; get; }
  19. //说话人
  20. public string Speaker { set; get; }
  21. //对话内容
  22. public string SpeakContent { set; get; }
  23. }//class_end
  24. }

(3)XML 解析程序

  1. /***
  2. *
  3. * XML 解析程序
  4. */
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10.  
  11. using System.Xml; //XML 命名空间
  12. using System.IO; //文件输入输出流
  13.  
  14. namespace XMLDemo1
  15. {
  16. class XMLAnalysis
  17. {
  18. List<Dialogs> _LiDialogsArray; //存放集合
  19.  
  20. public XMLAnalysis()
  21. {
  22. _LiDialogsArray = new List<Dialogs>();
  23. }
  24.  
  25. /// <summary>
  26. /// 解析XML
  27. /// </summary>
  28. public void AnalysisXML()
  29. {
  30. //XmlDocument:C#内置的XML解析方式
  31. XmlDocument doc = new XmlDocument();
  32. //加载 XML 文件
  33. doc.Load("XMLFile1.xml");
  34. //得到 XML 文件根节点
  35. XmlNode node = doc.FirstChild;
  36. //得到根节点后的节点集合
  37. XmlNodeList nodeArray = node.ChildNodes;
  38.  
  39. foreach (XmlNode nodeItem in nodeArray)
  40. {
  41. //实例化实体类
  42. Dialogs diaObj = new Dialogs();
  43. //得到属性信息(Attributes:包含节点属性)
  44. diaObj.Language = nodeItem.Attributes[0].InnerText;
  45. //字符串num、Speaker、Content对应XML文件中的标签
  46. diaObj.Number = Convert.ToInt32(nodeItem["num"].InnerText);
  47. diaObj.Speaker = nodeItem["Speaker"].InnerText;
  48. diaObj.SpeakContent = nodeItem["Content"].InnerText;
  49. //把单个实体对象加入集合
  50. _LiDialogsArray.Add(diaObj);
  51. }
  52. }
  53.  
  54. /// <summary>
  55. /// 查看XML内容(需要先解析)
  56. /// </summary>
  57. public void DisplayXMLContent()
  58. {
  59. Console.WriteLine("显示XML如下内容:");
  60. if (_LiDialogsArray!=null)
  61. {
  62. foreach (Dialogs diaItem in _LiDialogsArray)
  63. {
  64. Console.WriteLine("语言:"+diaItem.Language);
  65. Console.WriteLine("编号:" + diaItem.Number);
  66. Console.WriteLine("说话人:" + diaItem.Speaker);
  67. Console.WriteLine("对话内容:" + diaItem.SpeakContent);
  68. }
  69. }
  70. }
  71. static void Main(string[] args)
  72. {
  73. XMLAnalysis obj = new XMLAnalysis();
  74. //解析 XML
  75. obj.AnalysisXML();
  76. //显示 XML 内容
  77. obj.DisplayXMLContent();
  78. }
  79. }//class_end
  80. }

2.VS编写XML实例程序的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(三):终极需求

    相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...

  2. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  3. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

  4. C#基础知识-编写第一个程序(二)

    通过上一篇数据类型已经介绍了C#中最基本的15种预定义数据类型,了解每一种类型代表的数据以及每种类型的取值范围,这是很重要也是最基本.下面我们通过实例来了解每个类型如何去使用.编写C#程序时我们需要用 ...

  5. 雷林鹏分享:XML 应用程序

    XML 应用程序 本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序. XML 文档实例 在本应用程序中,我们将使用 "cd_ca ...

  6. 雷林鹏分享:XML 实例

    XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...

  7. JVM性能优化系列-(4) 编写高效Java程序

    4. 编写高效Java程序 4.1 面向对象 构造器参数太多怎么办? 正常情况下,如果构造器参数过多,可能会考虑重写多个不同参数的构造函数,如下面的例子所示: public class FoodNor ...

  8. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

  9. 基于php基础语言编写的小程序之计算器

    基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...

  10. 类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,

    编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 ...

随机推荐

  1. N63050 第一周运维作业

    1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面debian: ...

  2. js区分图片加载中和加载完成状态

    var _ent = document.getElementById("test"); if (_ent.complete) { //图片已经加载完成 _ent.stop(); } ...

  3. SpringBoot的使用

    1. Spring Boot概述 目标:了解Spring Boot是什么,有什么作用 小结: Spring Boot是一个便捷搭建 基于spring工程的脚手架:作用是帮助开发人员快速搭建大型的spr ...

  4. MySQL(2): 窗口函数\备份与恢复\性能优化\权限管理

    mysql 8.0 新增了窗口函数,与Oracle一样的 MySQL从8.0开始支持窗口函数,这个功能在大多商业数据库和部分开源数据库中早已支持,有的也叫分析函数. 什么叫窗口? 窗口的概念非常重要, ...

  5. el-scrollbar滚动加载

    mounted() { 监听滚动条       this.$refs.scrollbar.wrap.addEventListener("scroll", this.scrollCo ...

  6. Linux 中设置静态的IP

    Topic (What i going to write) Setting the static Ip address in linux Main Information Firstly use CD ...

  7. Java-根据父级id将List结构转Tree结构

    List的stream public ResultData queryMenuList() { // 获取所有数据List List<MenuVo> list = MenuDao.quer ...

  8. CCIE DC Multicast Part 4.

    Hi Guys, Part 4 of my CCIE DC multicast article is presented below, in this article we are going to ...

  9. maven :Cannot start maven service

    问题报错信息:maven启动失败 java.lang.RuntimeException: Cannot start maven service at org.jetbrains.idea.maven. ...

  10. NLog日志 富文本编辑器

    NLog日志 NLog是什么 NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码.NLog是一个简单灵活的.NET日志记录类库.通过使用NLog,我们 ...