在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实例程序的更多相关文章

  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. Notepad++来比较文件

    使用Notepad++来比较文件_sanqima的专栏-CSDN博客_notepad比较文件https://blog.csdn.net/sanqima/article/details/50467154

  2. SAP 后台任务定时job

    定时任务的事务码 sm36:创建定时任务 sm37:查看定时任务 JDBG:后台任务debug,在对应的sm37中对应的job页面 t-code输入 创建定时任务SM36 名称可以随便起 一般都是按自 ...

  3. Eclipse-Hadoop开发配置详解

    Eclipse_Hadoop开发详解 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockqu ...

  4. IDEA的常用快捷键和文档注释

    IDEA的常用快捷键 Alt + 回车 导入包,自动修正 Ctrl + N 查找类 Ctrl + Shift + N 查找文件 Ctrl + Alt + N 格式化代码 Ctrl + Alt + O ...

  5. FlyMcu烧录提示写入出错在初始化:连接,耗时3437延秒

    取消勾选RamIsp的选项就可以了

  6. 思科数据中心CCIE稳定PASS

    乾颐堂DC数据中心CCIE,在增加新题的情况下一次PASS! 目前笔试.lab都在过人,需要备考的同学联系乾颐堂,机时充足!

  7. nginx 同一个域名根据后缀不同访问不同的项目

    server { listen 80; server_name bcgx.work; location / { index login.html login.htm index.php; root / ...

  8. unctfWP

    web: 签到:,更改学号,找规律,用笔记本记录出现的数据. 我太喜欢哔哩哔哩大学啦--中北大学:就往下面翻找flag,就会看见一个flag的语句,这个就是答案. ezgame-浙江师范大学:这个就是 ...

  9. boost.python编辑,以及c++api的python封装

    boost.python 编辑与踩坑 踩坑1.编辑的版本使用的vs版本不同的话,使用的命令不同 2.编辑第一条命令b2 toolset=msvc-11.0 --with-python报错:fatal ...

  10. day1 AcWing 836. 合并集合

    初始化: n个下表对应n个集合,根节点的特征是父节点就是其本身. for(int i = 1; i <= n; i++) p[i] = i; M操作:如果两个元素在同一个集合中,什么也不做,否则 ...