详细介绍使用XmlWriter写Xml的示例代码

互联网 17-3-9
假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml1.如何使用XmlWriter写Xml文档声明
// WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值  xmlWriter.WriteStartDocument(false|true);

注意在使用WriteStartDocument方法后最好调用xmlWrite.WriteEndDocument()方法来关闭所有可能未关闭标签2.如何使用XmlWriter写xml节点以及属性

//写节点  xmlWriter.WriteStartElement("cat");  //给节点添加属性  xmlWriter.WriteAttributeString("color", "white");  //给节点内部添加文本  xmlWriter.WriteString("I'm a cat");  xmlWriter.WriteEndElement();

或者通过WriteElementString(string,string)方法写xml节点同时写下节点值,如下

//通过WriteElementString可以添加一个节点同时添加节点内容  xmlWriter.WriteElementString("pig", "pig is great");

3.如何写CData

xmlWriter.WriteStartElement("dog");  //写CData  xmlWriter.WriteCData("<strong>dog is dog</strong>");  xmlWriter.WriteEndElement();

4.如何使用XmlWriter添加注释

xmlWriter.WriteComment("this is an example writed by 玉开技术博客 http://www.php.cn/ ");

5.如何设置XmlWriter的输出格式,解决输出UTF-16问题设置xml输出格式,需要通过XmlWriterSettings类,如下代码

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;

完整的代码示例如下:

/*玉开技术博客 http://www.php.cn/ */  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 by 玉开技术博客 http://www.php.cn/ ");                        xmlWriter.WriteEndElement();                      xmlWriter.WriteEndDocument();                    }                    //将xml内容输出到控制台中                  string xml = Encoding.UTF8.GetString(ms.ToArray());                  Console.WriteLine(xml);              }              Console.Read();            }      }  }

以上就是详细介绍使用XmlWriter写Xml的示例代码的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: XmlWriter,Xml
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:详解Android XML文件使用的示例代码

相关资讯