2.VS编写XML实例程序
在VS中编写XML实例程序
1、如下,在 VS 中分别新建 XML 文件、XML 解析类、XML 实体类
2、在项目中代码,如下
(1)XML 文件(注:在 VS 解决方案资源管理器中选中 XML 文件,点击属性将【复制到输出目录】中的“不复制”改为“如果较新则更新”)
- <ProjectDialogsInfo>
- <Dialog language="CN">
- <Speak>英雄</Speak>
- <Content>这是哪里?</Content>
- </Dialog>
- <Dialog language="CN">
- <Speak>NPC</Speak>
- <Content>你好,欢迎来到亚特兰蒂斯地下城!</Content>
- </Dialog>
- <Dialog language="CN">
- <Speak>英雄</Speak>
- <Content>你好,我是XML演示文件!</Content>
- </Dialog>
- </ProjectDialogsInfo>
(2)XML 实体类
- /***
- *
- * 实体类:对话信息
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace XMLDemo1
- {
- class Dialogs
- {
- //语言
- public string Language { set; get; }
- //编号
- public int Number { set; get; }
- //说话人
- public string Speaker { set; get; }
- //对话内容
- public string SpeakContent { set; get; }
- }//class_end
- }
(3)XML 解析程序
- /***
- *
- * XML 解析程序
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Xml; //XML 命名空间
- using System.IO; //文件输入输出流
- namespace XMLDemo1
- {
- class XMLAnalysis
- {
- List<Dialogs> _LiDialogsArray; //存放集合
- public XMLAnalysis()
- {
- _LiDialogsArray = new List<Dialogs>();
- }
- /// <summary>
- /// 解析XML
- /// </summary>
- public void AnalysisXML()
- {
- //XmlDocument:C#内置的XML解析方式
- XmlDocument doc = new XmlDocument();
- //加载 XML 文件
- doc.Load("XMLFile1.xml");
- //得到 XML 文件根节点
- XmlNode node = doc.FirstChild;
- //得到根节点后的节点集合
- XmlNodeList nodeArray = node.ChildNodes;
- foreach (XmlNode nodeItem in nodeArray)
- {
- //实例化实体类
- Dialogs diaObj = new Dialogs();
- //得到属性信息(Attributes:包含节点属性)
- diaObj.Language = nodeItem.Attributes[0].InnerText;
- //字符串num、Speaker、Content对应XML文件中的标签
- diaObj.Number = Convert.ToInt32(nodeItem["num"].InnerText);
- diaObj.Speaker = nodeItem["Speaker"].InnerText;
- diaObj.SpeakContent = nodeItem["Content"].InnerText;
- //把单个实体对象加入集合
- _LiDialogsArray.Add(diaObj);
- }
- }
- /// <summary>
- /// 查看XML内容(需要先解析)
- /// </summary>
- public void DisplayXMLContent()
- {
- Console.WriteLine("显示XML如下内容:");
- if (_LiDialogsArray!=null)
- {
- foreach (Dialogs diaItem in _LiDialogsArray)
- {
- Console.WriteLine("语言:"+diaItem.Language);
- Console.WriteLine("编号:" + diaItem.Number);
- Console.WriteLine("说话人:" + diaItem.Speaker);
- Console.WriteLine("对话内容:" + diaItem.SpeakContent);
- }
- }
- }
- static void Main(string[] args)
- {
- XMLAnalysis obj = new XMLAnalysis();
- //解析 XML
- obj.AnalysisXML();
- //显示 XML 内容
- obj.DisplayXMLContent();
- }
- }//class_end
- }
2.VS编写XML实例程序的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- Node.js入门实例程序
在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...
- C#基础知识-编写第一个程序(二)
通过上一篇数据类型已经介绍了C#中最基本的15种预定义数据类型,了解每一种类型代表的数据以及每种类型的取值范围,这是很重要也是最基本.下面我们通过实例来了解每个类型如何去使用.编写C#程序时我们需要用 ...
- 雷林鹏分享:XML 应用程序
XML 应用程序 本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序. XML 文档实例 在本应用程序中,我们将使用 "cd_ca ...
- 雷林鹏分享:XML 实例
XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...
- JVM性能优化系列-(4) 编写高效Java程序
4. 编写高效Java程序 4.1 面向对象 构造器参数太多怎么办? 正常情况下,如果构造器参数过多,可能会考虑重写多个不同参数的构造函数,如下面的例子所示: public class FoodNor ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- 基于php基础语言编写的小程序之计算器
基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用sel ...
- 类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,
编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 ...
随机推荐
- N63050 第一周运维作业
1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面debian: ...
- js区分图片加载中和加载完成状态
var _ent = document.getElementById("test"); if (_ent.complete) { //图片已经加载完成 _ent.stop(); } ...
- SpringBoot的使用
1. Spring Boot概述 目标:了解Spring Boot是什么,有什么作用 小结: Spring Boot是一个便捷搭建 基于spring工程的脚手架:作用是帮助开发人员快速搭建大型的spr ...
- MySQL(2): 窗口函数\备份与恢复\性能优化\权限管理
mysql 8.0 新增了窗口函数,与Oracle一样的 MySQL从8.0开始支持窗口函数,这个功能在大多商业数据库和部分开源数据库中早已支持,有的也叫分析函数. 什么叫窗口? 窗口的概念非常重要, ...
- el-scrollbar滚动加载
mounted() { 监听滚动条 this.$refs.scrollbar.wrap.addEventListener("scroll", this.scrollCo ...
- Linux 中设置静态的IP
Topic (What i going to write) Setting the static Ip address in linux Main Information Firstly use CD ...
- Java-根据父级id将List结构转Tree结构
List的stream public ResultData queryMenuList() { // 获取所有数据List List<MenuVo> list = MenuDao.quer ...
- 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 ...
- maven :Cannot start maven service
问题报错信息:maven启动失败 java.lang.RuntimeException: Cannot start maven service at org.jetbrains.idea.maven. ...
- NLog日志 富文本编辑器
NLog日志 NLog是什么 NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码.NLog是一个简单灵活的.NET日志记录类库.通过使用NLog,我们 ...