zoukankan      html  css  js  c++  java
  • C# 操作XML文件

    XML基础:

      XML是eXtensible Markup Language的缩写,即可扩展标记语言;

      XML主要用于数据的存储,而HTML主要用于数据显示;

    XML文档的格式要求:

      确定且唯一的根元素、开始标签和结束标签匹配;

    XML文件读取总结:

      常用对象

        XMLDocument对象表示XML整个文档;

        XMLNode对象表示XML文件的单个节点;

      XMLDocument

        DocumentElement属性,获取根节点

        ChildNodes属性,获取所有子节点

        Load()方法,读取整个XML的结构

      XMLNode

        InnerText属性,当前节点的值

        Name属性,当前节点的名字

        ChildNodes属性,当前节点的所有子节点

    -------------------------------------------------------

    XML文件读取

      1、创建文档对象

      2、加载XML文档

      3、获取根节点

      4、遍历节点并封装数据

    //引入命名空间
    using System.XML;
    //创建XML文档操作对象
    XMLDocument objDoc = new XMLDocument();
    //加载XML文件到文档对象中
    objDoc.Load("...xml");
    //获取XML文档根目录
    XmlNode rootNode = objDoc.DocumentElement;
    //创建对象集合
    List<Student> stuList = new List<Student>();
    foreach(XmlNode stuNode in rootNode.ChildNodes)
    {
        if(stuNode.Name == 'Student')
        {
            Student objStu = new Student();
            foreach(XmlNode subNode in stuNode)
            {
                Switch(subNode.Name)
                {
                    case "StuName":
                    objStu.StuName = subNode.InnerText;
                    //获取节点名称对应的节点值
                    break;
                    ...
                 } 
            }
            this.dgvStuList.DataSource = stuList;
        }
    }

    XML数据查找方法:

      如果不需要遍历整个XML,而仅仅只是查找某一个值

    //创建XML读取器
    XmlTextReader tReader = new XmlTextReader("...xml");
    string info = string.Empty;
    while(tReader.Read())
    {
        if(tReader.Name == "Version")
        {
            //找到节点后获取属性值
            info = tReader.GetAttribute("vNo");
        }
    }
  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/pandora2050/p/13473314.html
Copyright © 2011-2022 走看看