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