当前位置: 首页 > news >正文

读取XML文件

首先要确定好XML文件的位置,最好是放在程序的debug文件中,放在其他地方也可以,要写上绝对路径

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;//引入命名空间
namespace XMLDemo
{
    public partial class FrmReadXML : Form
    {
        public FrmReadXML()
        {
            InitializeComponent();
        }
        private void btnLoadXML_Click(object sender, EventArgs e)
        {
            XmlDocument objDoc = new XmlDocument();  //【1】创建XML文档操作对象
            objDoc.Load("StuScore.xml");  //【2】加载XML文件到文档对象中
            XmlNode rootNode = objDoc.DocumentElement;  //【3】获取XML文档根目录
            List<Student> list = new List<Student>();//创建对象集合
            foreach (XmlNode stuNode in rootNode.ChildNodes)  //【4】遍历根节点(根节点包含所有节点)
            {
                if (stuNode.Name == "Student")
                {
                    Student objStu = new Student();
                    foreach (XmlNode subNode in stuNode)  //【5】遍历子节点
                    {
                        switch (subNode.Name)//根据子节点的名称封装到对象的属性
                        {
                            case "StuName":
                                objStu.StuName = subNode.InnerText;//获取《节点名称》对应的《节点值》
                                break;
                            case "StuAge":
                                objStu.StuAge = Convert.ToInt16(subNode.InnerText);
                                break;
                            case "Gender":
                                objStu.Gender = subNode.InnerText;
                                break;
                            case "ClassName":
                                objStu.ClassName = subNode.InnerText;
                                break;
                        }
                    }
                    list.Add(objStu);
                }
            }
            this.dgvStuList.DataSource = list;
        }
        //显示版本信息
        private void btnShowVersion_Click(object sender, EventArgs e)
        {
            //创建XML读取器
            XmlTextReader tReader = new XmlTextReader("StuScore.xml");
            string info = string.Empty;
            //循环查询
            while (tReader.Read())
            {
                if (tReader.Name == "Version")
                {
                    info = "版本:" + tReader.GetAttribute("vNo") + " 发布时间:" 
                        + tReader.GetAttribute("pTime");
                    break;
                }
            }
            MessageBox.Show(info,"数据版本");
        }
    }
}

 

转载于:https://www.cnblogs.com/superMay/p/4108430.html

相关文章:

  • [数]来自亮亮OJ的五道数学题
  • shell脚本简单切割字符串
  • Java线程安全和锁Synchronized概念
  • C#操纵Excel,此工作薄包含嵌入对象,Office 2007的设定方法
  • Gym 101128J Saint John Festival(凸包 + 二分判点和凸包关系)题解
  • chrome浏览器常用快捷键
  • openshift 使用curl命令访问apiserver
  • 服务器指示灯说明
  • 单兵虚拟训练仿真系统
  • css笔记04
  • Jmeter察看结果树的响应数据中的中文显示乱码问题处理
  • HTML5 details 标签
  • 重学前端-CSS篇3-颜色、单位、字体、命名规范、书写顺序
  • 递归与尾递归(C语言)
  • 面向对象-类与对象的定义和使用(包含init讲解)
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android 控件背景颜色处理
  • Consul Config 使用Git做版本控制的实现
  • CSS实用技巧干货
  • ES6 ...操作符
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • linux学习笔记
  • ReactNativeweexDeviceOne对比
  • Redash本地开发环境搭建
  • Vue 2.3、2.4 知识点小结
  • vue:响应原理
  • 成为一名优秀的Developer的书单
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 记录:CentOS7.2配置LNMP环境记录
  • 前端自动化解决方案
  • 网页视频流m3u8/ts视频下载
  • 想写好前端,先练好内功
  • 小程序 setData 学问多
  • 终端用户监控:真实用户监控还是模拟监控?
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #git 撤消对文件的更改
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (AngularJS)Angular 控制器之间通信初探
  • (TOJ2804)Even? Odd?
  • (补)B+树一些思想
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (强烈推荐)移动端音视频从零到上手(上)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET Micro Framework初体验(二)
  • .net mvc部分视图
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET开发人员必知的八个网站
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [<死锁专题>]
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured