zoukankan      html  css  js  c++  java
  • C#温故而知新学习系列之XML编程—Xml写入器XmlWriter类(三)

      前言

       与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();

            

         }
      }

  • 相关阅读:
    day01--计算机硬件基础笔记
    22 Jun 18 Django,ORM
    21 Jun 18 Django,ORM
    20 Jun 18 复习, mysql
    20 Jun 18 Django,ORM
    19 Jun 18 复习, 正则表达式
    19 Jun 18 Django
    15 Jun 18 复习, shutil模块
    15 Jun 18 Django
    14 Jun 18 复习, form表单
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2295655.html
Copyright © 2011-2022 走看看