使用XmlWriter创建XML文件

时间:2023-03-09 03:23:24
使用XmlWriter创建XML文件
 using System;

 using System.Collections.Generic;

 using System.Text;

 using System.IO;

 using System.Xml;

 namespace UseXmlWriter

 {

     class Program

     {

         static void Main(string[] args)

         {

             using (MemoryStream ms = new MemoryStream())

             {

                 XmlWriterSettings settings = new XmlWriterSettings();

                 //要求缩进

                 settings.Indent = true;

                 //注意如果不设置encoding默认将输出utf-16

                 //注意这儿不能直接用Encoding.UTF8如果用Encoding.UTF8将在输出文本的最前面添加4个字节的非xml内容

                 settings.Encoding = new UTF8Encoding(false);

                 //设置换行符

                 settings.NewLineChars = Environment.NewLine;

                 using (XmlWriter xmlWriter = XmlWriter.Create(ms, settings))

                 {

                     //写xml文件开始<?xml version="1.0" encoding="utf-8" ?>

                     xmlWriter.WriteStartDocument(false);

                     //写根节点

                     xmlWriter.WriteStartElement("root");

                     //写字节点

                     xmlWriter.WriteStartElement("cat");

                     //给节点添加属性

                     xmlWriter.WriteAttributeString("color", "white");

                     //给节点内部添加文本

                     xmlWriter.WriteString("I'm a cat");

                     xmlWriter.WriteEndElement();

                     //通过WriteElementString可以添加一个节点同时添加节点内容

                     xmlWriter.WriteElementString("pig", "pig is great");

                     xmlWriter.WriteStartElement("dog");

                     //写CData

                     xmlWriter.WriteCData("<strong>dog is dog</strong>");

                     xmlWriter.WriteEndElement();

                     //添加注释
xmlWriter.WriteComment("this is an example writed"); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } //将xml内容输出到控制台中 string xml = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine(xml); } Console.Read(); } } }