前言

  与XmlReader类相对应,.NETFramework也提供了一个以快速的,非缓存的,只向前的,动态写入XML数据的类即XmlWriter类,可以将XmlWriter类理解为与XmlReader类对等的类

  阅读目录

  一:写入XML文档的步骤

  二:实现步骤

    一:写入XML文档的步骤

  为了写入属性,元素,需要调用一个WriteStrat某某()方法和WriteEnd()某某方法,在使用XmlWriter类的时候并不是简单的写入一个元素,需要先写入开始标签,然后写入内容,最后写入结束标签,因此必须要跟踪在XML文档中所处的位置,以保证在正确的时间调用正确的结束方法

  1:使用XmlWriter类的Create()方法创建该类的实例,并将XML文档名称作为参数传入方法

  2:开始文档

  3:写入开始标签

  4:写入内容

  5:写入结束标签

  6:结束文档;

  实例

  二:实现步骤

  1:XML文件编写

  <?xml version="1.0" encoding="utf-8" ?>

  2:代码文件编写

  Form1.cs

  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Xml;

  namespace XmlWriterClass
  {
        public partial class Form1 : Form
        {
            public Form1()
            {  
                InitializeComponent();
            }

      }

  private void Form1_Load(object sender, EventArgs e)
          {
                XmlWriter xml_doc = XmlWriter.Create("XmlFile.xml");
                  //第一种写入元素方法
                //写版本为“1.0”的XML声明
                xml_doc.WriteStartDocument();
                //写入元素的名称以及它的值,注意这种写入元素的方法,是不能在其上面写入任何属性的
                xml_doc.WriteElementString("Title", "C#教程");
                //关闭文档
                xml_doc.WriteEndDocument();
                xml_doc.Flush();
                xml_doc.Close();

        

         //第二种写入元素方法
                //写版本为“1.0”的XML声明
                xml_doc.WriteStartDocument();
                //写指定的开始标记,这种写入元素的方法,是可以在其上面写入属性的
                xml_doc.WriteStartElement("Books");
                //关闭元素
                xml_doc.WriteEndElement();
                //关闭文档
                xml_doc.WriteEndDocument();
                xml_doc.Flush();
                xml_doc.Close();

        

         //第一种写入属性方法
                xml_doc.WriteStartDocument();

         //写入<Books/>元素
                xml_doc.WriteStartElement("Books");

         //写入属性的名称
                xml_doc.WriteStartAttribute("issue");

         //写入属性的值
                xml_doc.WriteValue("清华出版社");

         //关闭上一个xml_doc.WriteStartAttribute("issue")的 调用
                xml_doc.WriteEndAttribute();

         //关闭<Books/>元素
                xml_doc.WriteEndElement();
                xml_doc.WriteEndDocument();
                xml_doc.Flush();
                xml_doc.Close();

        

         //第二种写入属性方法

         xml_doc.WriteStartDocument();
                xml_doc.WriteStartElement("Books");

         //一次性写入属性的名称和值
                xml_doc.WriteAttributeString("issue", "清华出版社");
                xml_doc.WriteEndElement();
                xml_doc.WriteEndDocument();
                xml_doc.Flush();
                xml_doc.Close();

        

         //结合使用

          xml_doc.WriteStartDocument();
                //写入<Books/>元素和属性值,在这里我们不采用xml_doc.WriteElementString()方法来写入元素,因为我们还要在我们写入的元素上面写入属性,而xml_doc.WriteElementString()这种写入元素的方法,是不能在其上面写入任何属性的
                xml_doc.WriteStartElement("Books");
                xml_doc.WriteAttributeString("issue", "清华出版社");
                //写入<Titles/>元素和属性值,注意我们这里用了另外一种写入属性的方法
                xml_doc.WriteStartElement("Title");
                xml_doc.WriteStartAttribute("OthorName");
                xml_doc.WriteValue("C#入门与精通");
                xml_doc.WriteEndAttribute();
                xml_doc.WriteValue("C#基础");
                xml_doc.WriteEndElement();
                xml_doc.WriteEndElement();
                xml_doc.WriteEndDocument();
                xml_doc.Flush();
                xml_doc.Close();

        

     }
  }

C#温故而知新学习系列之XML编程—Xml写入器XmlWriter类(三)相关推荐

  1. C#温故而知新学习系列之面向对象编程—构造函数(七)

    构造函数 构造函数又叫构造方法,其实就是对类进行初始化,构造函数与类同名,无返回值,也不需要void,在new时候调用 所有的类都有构造函数,如果你不写构造函数的话,系统默认生成空的构造函数,若你有自 ...

  2. C#温故而知新学习系列之面向对象编程—readonly关键字(十七)

    readonly关键字 表示只读的意思,与const不同,readonly关键字只能用于字段,不能用于局部变量,也就是说要使用readonly修饰一个字段或者变量的时候,必须将它声明在类中或者全局变量 ...

  3. ASP.NET温故而知新学习系列之ASP.NET多线程编程—.NET下的多线程编程应用程序域(七)...

    阅读目录 一:应用程序域概述 二:应用程序域和线程的关系 三:线程跨越多个应用程序域实例 四:运行效果 一:应用程序域 . 在.NET中有个特点,在.NET中有个CLR,在操作系统和我们编程环境之间有 ...

  4. ASP.NET温故而知新学习系列之ASP.NET多线程编程—异步编程(九)

    阅读目录 一:同步处理 二:异步处理 三:异步委托 四:通过委托同步调用方法 五:通过委托异步调用方法 一:同步处理 一个同步操作会阻塞整个当前的进程,直到这个操作完成才能执行下一段代码 二:异步处理 ...

  5. C#温故而知新学习系列之.NET框架高级特性—概述.NET框架中的反射(一)

    阅读目录 一:什么是元数据? 二:概述.NET框架中的反射 一:什么是元数据? 元数据,就是描述数据的数据,它存储在PE文件中,PE文件由IL Code和元数据组成,元数据为.NET提供了丰富的自我描 ...

  6. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第50讲:PHP中的xml编程

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第50讲:PHP中的xml编程 Xml是extensiable markup language的简称,包括文档声明.元素.属性.注释.CDATA区.特殊字符 ...

  7. java之xml编程

    2019独角兽企业重金招聘Python工程师标准>>> java之xml编程  XML是一个文本信息格式的  XML用于共享数据和传输数据  XML可以描述复杂的树状结构  XML有 ...

  8. 【转】解析.Net框架下的XML编程技术

    [引自突破思维的禁忌的博客]一.前言 XML是微软.Net战略的一个重要组成部分,而且它可谓是XML Web服务的基石,所以掌握.Net框架下的XML技术自然显得非常重要了.本文将指导大家如何运用C# ...

  9. 深度学习系列:深度学习在腾讯的平台化和应用实践

    深度学习系列:深度学习在腾讯的平台化和应用实践(一) 莫扎特 2015-01-04 6:05:13 大数据技术 评论(0) 深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公 ...

最新文章

  1. jQuery学习(一)
  2. [转载]在Eclipse CDT中编译含有多个main函数的项目
  3. 如何在Android上管理startActivityForResult?
  4. VSS、RSS、PSS、USS
  5. 央视曝光:刷单实为非法商业模式 步步设置全是套路
  6. 员工工号怎么编码_华为员工感慨:工号就留在这了,感谢公司给我自己写墓志铭的机会...
  7. 17.QT-事件处理分析、事件过滤器、拖放事件
  8. Navicat Premium mysql
  9. 电磁波与电磁信号、生活中的电磁波
  10. 优雅地修改多模块maven项目中的版本号
  11. 关于cad2010的激活
  12. 桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!
  13. Linux下搭建打印机共享服务器(支持苹果AirPrint)
  14. docker修改服务器ip地址,如何修改docker的ip地址
  15. 北斗卫星导航系统简介
  16. 服务器端查看图片库 eog display Xforwarding
  17. SpaceSniffer(磁盘大小扫描分析) 彻底解决C盘爆满问题 清理C盘必备软件
  18. 朱军,感到无助与迷茫,关于这生活
  19. 2022-2028年中国电子商务行业市场深度分析及投资前景展望报告
  20. 2021年河南高考--各高校在河南录取分数线预测(本科一批——文科)

热门文章

  1. pygame外星人2
  2. POJ 3660 Cow Contest
  3. 小程序上拉加载,下拉刷新
  4. [NOI2016]循环之美(杜教筛)
  5. postman进阶之Newman,从安装到使用到填坑,不废话
  6. 将maven项目托管到github
  7. Node中使用mysql模块遇到的问题
  8. Sprint2-2.0
  9. (面试题)删除在另一个字符串中出现的字符
  10. 针对接口编程,不要针对实现编程