使用XmlWriter写Xml_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 使用XmlWriter写Xml

使用XmlWriter写Xml

 2017/8/21 21:09:18  忧叹ic  程序员俱乐部  我要评论(0)
  • 摘要:使用XmlWriter写Xml假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml1.如何使用XmlWriter写Xml文档声明//WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalone保持默认值xmlWriter.WriteStartDocument(false|true);注意在使用WriteStartDocument方法后最好调用xmlWrite
  • 标签:使用 XML

class="postTitle">使用XmlWriter写Xml

假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml

1.如何使用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.baidu.com/");

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;

完整的代码示例如下:

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.baidu.com/");                       xmlWriter.WriteEndElement();                     xmlWriter.WriteEndDocument();                   }                   //将xml内容输出到控制台中                 string xml = Encoding.UTF8.GetString(ms.ToArray());                 Console.WriteLine(xml);             }             Console.Read();           }     } }

C#处理Xml的相关随笔

1.通过XmlDocument读写Xml文档 2.使用XmlReader读Xml,使用XmlWriter写Xml 3.使用Linq to xml存取XML 4.通过XmlScheme定义固定格式xml文档 5.Xml序列化或者反序列化类 6.通过XPath查找Xml节点 7.通过Xslt转化Xml格式
发表评论
用户名: 匿名